Ricerca…


introduzione

Una funzione utile dei file batch è la possibilità di creare file con loro. Questa sezione mostra come creare file usando il codice batch.

Sintassi

  • echo (digita qui ciò che vuoi nell'essere) >> (nomefile)
  • echo (nome variabile) >> (nome file)

Osservazioni

Se esiste un file, > sovrascriverà il file e >> verrà aggiunto alla fine del file. Se un file non esiste, entrambi creeranno un nuovo file.

Inoltre, il comando echo aggiunge automaticamente una nuova riga dopo la stringa.

Così

echo 1 > num.txt
echo 1 > num.txt 
echo 2 >> num.txt 

creerà il seguente file:

1
2

Non questo:

1 1 2

o

1 2

Inoltre, non è possibile modificare una singola riga in un file di testo. Devi leggere l'intero file, modificarlo nel tuo codice e poi scrivere di nuovo sull'intero file.

reindirizzamento

Formato:

[command] [> | >>] [filename]

> salva l'output di [comando] in [nomefile].

>> aggiunge l'output di [comando] in [nomefile].

Esempi:

  1. echo Hello World > myfile.txt salva "Hello World" in myfile.txt

  2. echo your name is %name% >> myfile.txt aggiunge "il tuo nome è xxxx" in myfile.txt

  3. dir C:\ > directory.txt salva la directory di C: \ in directory.txt

Echo per creare file

Modi per creare un file con il comando echo:

ECHO. > example.bat (creates an empty file called "example.bat")

ECHO message > example.bat (creates example.bat containing "message")
ECHO message >> example.bat (adds "message" to a new line in example.bat)
(ECHO message) >> example.bat (same as above, just another way to write it)

Se si desidera creare un file tramite il comando ECHO , in una directory specifica sul computer, si potrebbe incorrere in un problema.

ECHO Hello how are you? > C:\Program Files\example.bat

(This will NOT make a file in the folder "Program Files", and might show an error message)

Ma allora come lo facciamo? Beh, in realtà è estremamente semplice ... Quando digiti un percorso o un nome di file che ha uno spazio incluso nel suo nome, ricorda di usare "virgolette"

ECHO Hello how are you? > "C:\Program Files\example.bat"
(This will create "example.bat" in the folder "Program Files")

Ma cosa succede se si desidera creare un file che emette un nuovo file?

ECHO message > file1.bat > example.bat

(example.bat is NOT going to contain "message > file1.bat")
example.bat will just contain "message"... nothing else

Allora come lo facciamo? Bene per questo usiamo il simbolo ^ .

ECHO message ^> file1.bat > example.bat

(example.bat is going to contain "message > file1.bat")

Lo stesso vale per altre cose in batch

Il prossimo passo richiede di avere una certa conoscenza di variabili e dichiarazioni:

clicca qui per conoscere le variabili | clicca qui per sapere se e else dichiarazioni

variabili:

SET example="text"
ECHO %example% > file.bat
(This will output "text" to file.bat)

se non vogliamo che produca "testo" ma semplicemente% esempio% quindi scrivi:

ECHO ^%example^% > file.bat
(This will output "%example%" to file.bat)

Istruzioni IF / ELSE:

ELSE statements are written with "pipes" ||

IF ^%example^%=="Hello" ECHO True || ECHO False > file.bat

(example.bat is going to contain "if %example%=="Hello" echo True")
[it ignores everything after the ELSE statement]

per produrre l'intera linea, facciamo lo stesso di prima.

IF ^%example^%=="Hello" ECHO True ^|^| ECHO False > file.bat

This will output:
IF %example%=="Hello" ECHO True || ECHO False

Se la variabile è uguale a "Hello", allora dirà "True", ELSE dirà "False"

Salvataggio dell'output di molti comandi

Utilizzo di molti comandi ECHO per creare un file batch:

(
  echo echo hi, this is the date today
  echo date /T
  echo echo created on %DATE%
  echo pause >nul
)>hi.bat

L'interprete dei comandi tratta l'intera sezione tra parentesi come un singolo comando, quindi salva tutto l'output su hi.bat .

hi.bat ora contiene:

echo hi, this is the date today
date /T
echo created on [date created]
pause >nul


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow