Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> Domanda >> Convertire i file >> .

Come si utilizzano file batch per copiare dalla stessa cartella del file?

Esistono diversi modi per copiare i file dalla stessa directory del file batch stesso. Ecco alcuni esempi, che dimostrano diversi scenari e robustezza:

Metodo 1:usando `%~ dp0` (più semplice e più consigliato)

Questo metodo utilizza la variabile `%~ dp0`, che si espande all'unità e al percorso del file batch corrente. Questo è l'approccio più affidabile e raccomandato.

batch `` `

@echo off

Copia "%~ dp0myfile.txt" "%~ dp0destinationfolder \ myfile.txt"

`` `

* `%~ dp0`:ottiene l'unità e il percorso del file batch.

* `myfile.txt`:il file che desideri copiare. Sostituiscilo con il tuo nome file.

* `DestinationFolder`:il nome della cartella in cui si desidera copiare il file. Crea questa cartella in anticipo se non esiste. Puoi usare percorsi assoluti anche qui, se necessario.

Metodo 2:usando `cd` (meno robusto)

Questo metodo modifica la directory nella posizione del file batch prima di eseguire la copia. È meno robusto perché si basa sull'attuale directory di lavoro impostato correttamente.

batch `` `

@echo off

Pushd "%~ dp0"

Copia myfile.txt DestinationFolder \ myfile.txt

popd

`` `

* `pushd"%~ dp0 "`:cambia la directory nella posizione del file batch. `Pushd` salva la directory corrente, permettendoti di ripristinarla in seguito.

* `Popd`:ripristina la directory originale.

Metodo 3:Gestione degli spazi nei percorsi dei file (cruciali per robustezza)

Se i file di file o percorsi delle cartelle contengono spazi, * devi * citarli. Gli esempi sopra lo fanno già, ma vale la pena sottolineare. La mancata citazione porterà a errori.

Esempio con spazi:

batch `` `

@echo off

Copia "%~ dp0my file.txt" "%~ dp0destination cartella \ my file.txt"

`` `

Metodo 4:copia più file utilizzando jolly

È possibile utilizzare i caratteri jolly per copiare più file contemporaneamente:

batch `` `

@echo off

Copia "%~ dp0*.txt" "%~ dp0destinationfolder \"

`` `

Questo copia tutti i file `.txt` dalla directory del file batch alla` DestinationFolder '.

Gestione degli errori (importante)

Per script più robusti, aggiungi la gestione degli errori per verificare se la copia ha avuto successo:

batch `` `

@echo off

Copia "%~ dp0myfile.txt" "%~ dp0destinationfolder \ myfile.txt"> nul 2> &1

Se % ErrorLevel % ==0 (

ECHO File copiato correttamente.

) altro (

ECHO ERRORE COPINGY FILE. Codice di errore:%Errorlevel %

)

`` `

* `> nul 2> &1`:sopprime l'output del comando` copia ".

* `Se % Errorlevel % ==0`:controlla il livello di errore. `0` significa successo.

Ricorda di sostituire `" myfile.txt "`, `" Destinationfolder "` e altri segnaposto con i nomi di file e cartelle effettivi. Testa sempre accuratamente i tuoi file batch. La gestione errata degli spazi nei file di file e percorsi è una fonte comune di errori.

 

Domanda © www.354353.com