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