Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    3

    [batch] inserire testo di più righe in un'unica variabile?

    salve a tutti
    ecco il mio problema

    io ho un file txt con una serie di 4 dati per riga su più righe, delimitati da virgole
    interessandomi solo gli ultimi 2 dati di ciascuna riga utilizzo il comando FOR per inserirli in un altro file usando questo codice

    codice:
    for /F "tokens=3,4 delims=," %%i in (file1.txt) do (echo %%i %%j>>file2.txt)
    così ottengo un file con 2 parole per riga, che sono quelle che mi servono

    ora mi servirebbe riuscire a mettere l'intero file2 all'interno di una variabile, o in alternativa inserire ogni sua riga in una diversa variabile, in modo da poterlo inserire in mezzo ad altro testo (sia su un'unica riga che su diverse, non ha importanza, mi basta inserirlo)

    Qualcuno ha una soluzione?

    l'unico linguaggio con cui ho abbastanza familiarità è il batch quindi non so se si possano usare altri linguaggi per facilitare il tutto

    grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [batch] inserire testo di più righe in un'unica variabile?

    Originariamente inviato da ocramma
    l'unico linguaggio con cui ho abbastanza familiarità è il batch quindi non so se si possano usare altri linguaggi per facilitare il tutto
    Sicuramente il batch non è adatto. E' invece molto semplice con qualsiasi altro linguaggio (ad esempio, il C ...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    3
    grazie per la risposta
    penso mi guarderò lo stesso la guida del C (mi ero riproposto già da tempo di farlo)
    ma per il momento ho risolto questo problema col batch

    ecco il codice che ho sfornato
    codice:
    setlocal ENABLEDELAYEDEXPANSION
    
    set cont=0
    
    for /F "tokens=3,4 delims=," %%i in (pass.txt) do (set /a cont="!cont!+1"
    echo %%i %%j>>!cont!.txt)
    
    
    if exist "1.txt" (set /P 1=<"1.txt")
    if exist "2.txt" (set /P 2=<"2.txt")
    if exist "3.txt" (set /P 3=<"3.txt")
    if exist "4.txt" (set /P 4=<"4.txt")
    if exist "5.txt" (set /P 5=<"5.txt")
    if exist "6.txt" (set /P 6=<"6.txt")
    
    echo !1!;!2!;!3!;!4!;!5!;!6!>file2.txt
    
    if exist "1.txt" (del "1.txt")
    if exist "2.txt" (del "2.txt")
    if exist "3.txt" (del "3.txt")
    if exist "4.txt" (del "4.txt")
    if exist "5.txt" (del "5.txt")
    if exist "6.txt" (del "6.txt")
    
    endlocal
    exit
    in pratica nella prima parte attivo l'espansione ritardata delle variabili

    poi col FOR creo una serie di file
    1.txt,2.txt,3.txt ecc.

    ognuno contenente i dati di una riga del file iniziale
    dopodichè inserisco ciascun file in una variabile, metto le variabili nel file finale, cancello il superflo e il gioco è fatto!

    grazie comunque per l'aiuto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.