PDA

Visualizza la versione completa : [BATCH] Inserire caratteri speciali all'interno di un file batch


ing.web
22-10-2011, 00:25
Ciao ragazzi,
non riesco a scrivere con DOS i caratteri speciali.
Il programmino che ho è il seguente:


@echo on
title Esempio menu
cls echo >file.txt %%

exit /b

salvando in .bat riesco trovo in file.txt il carattere %
ma se volessi scrivere altri caratteri come il < (simbolo minore) non riesco.
Dove posso trovare una corrispondenza?

Spero di essere stato chiaro.
Grazie mille..

MItaly
22-10-2011, 00:41
Se non ricordo male il carattere di escape in BATCH è ^

ing.web
22-10-2011, 01:08
grazie per la risposta,
ho provato ma non funziona. Credo dipenda anche dal Sistema Operativo utilizzato. Io ho windows vista...

in rete nn trovo veramente nulla... incredibile!

oregon
22-10-2011, 01:18
Originariamente inviato da ing.web
ho provato ma non funziona.

Cioè? Cosa hai scritto?

ing.web
22-10-2011, 01:21
Il carattere che desidero scrivere nel file è esattamente il simbolo >
quindi nel file (con estensione .bat) ho scritto quanto riporto qui di seguito ma non funziona.



@echo on
title Esempio menu
cls
echo > file.txt ^>

exit /b

oregon
22-10-2011, 01:26
echo ^> >file.txt

ing.web
22-10-2011, 13:15
Grazie mille! inizia a funzionare quello che desidero fare...

Vedo che c'è da risolvere un'altro problema.. Il testo inserito forse non può superare una certa lunghezza. Ho pensato di risolvere inserendo due echo che scrivono sullo stesso file.
Ripetendo la echo così com'è scritta mi sovrascrive il file. C'è un modo per scrivere in coda?

oregon
22-10-2011, 13:42
Originariamente inviato da ing.web
C'è un modo per scrivere in coda?

echo ^> >>file.txt

P.S. Due curiosità ... perché nel 2011 fare questi salti mortali con i batch? Perché farlo se non lo conosci?

ing.web
22-10-2011, 14:26
Hai ragione,
infatti è da qualche giorno che mi sto avvicinando ai .bat e non so nulla.
Sto cercando di conoscere le loro potenzialità per capire se studiarli fino in fondo o meno.

Le cose che mi servono per ora sono poche. Quello che mi hai scritto riesco a farlo funzionare, ma ho una domanda. Non è meglio invece fare un copy senza sovrascrittura? Solo che non mi funziona.
Ti spiego con il codice cosa intendo fare:


@echo on
title Esempi
cls
copy testo1.txt + testo2.txt
exit /b


Se ho capito bene dovrebbe copiare il testo2 in testo1.
E creando un nuovo file che combina i due dovrebbe essere scritto così:




@echo on
title Esempi
cls
copy testo1.txt + testo2.txt testocombinato.txt
exit /b


Dal prompt dei comandi riesco ad ottenere quanto ti ho descritto, ma con il file .bat non funziona....
Grazie mille!!

oregon
22-10-2011, 14:34
In che senso "non funziona"?

Dovresti studiare un po' di C ... poi potresti fare tutto quello che vuoi ,,,

Loading