|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2012
Messaggi: 130
|
[Batch] Escaping dei caratteri < e>
Ciao.
In un ciclo FOR, un comando ECHO restituisce le righe di un file di testo tab-delimited, che contiene all'inizio di ogni riga un carattere ">" o "<". Se il comando ECHO è seguito da una pipe, si verifica un problema di escaping che può essere risolto con la sequenza "^^%%G": file di testo Test.txt: > pippo pluto paperino < tizio caio sempronio Codice:
@FOR /f "tokens=1,* delims= " %%G IN (Test.txt) DO @( ECHO ^^%%G %%H|FINDSTR . ) @PAUSE EXIT Codice:
@FOR /f "tokens=1,* delims= " %%G IN (Test.txt) DO @( CALL ECHO ^^%%G %%H|FINDSTR . ) @PAUSE EXIT pluto paperino caio sempronio Esiste una sequenza di caratteri che impedisca l'escaping anche in questo caso? Grazie. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
e se metti 2 invece di 1 ?
Codice:
@FOR /f "tokens=2,* delims= " %%G IN (Test.txt) DO @( CALL ECHO ^^%%G %%H|FINDSTR . ) @PAUSE EXIT |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2012
Messaggi: 130
|
Non so...ma come farei poi a recuperare il primo token?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
se togli il tab tra %%G e %%H l'output è il seguente:
> pippo pluto paperino < tizio caio sempronio se togli il tab come sopra e metti 2 in luogo di 1 pippo pluto paperino tizio caio sempronio vedi un po tu |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:18.



















