webentwicklung-frage-antwort-db.com.de

Batch - Datei über relativen Pfad kopieren

Ich bin ein Anfänger mit Batch. Ich möchte die Datei in \Debug\test.ext per Batchbefehl in ..\..\new kopieren.

Ich habe copy "\Debug\text.txt" "..\..\new" ausprobiert, bekomme aber die Fehlermeldung "das System kann die angegebene Datei nicht finden"

24
Dan

wenn Sie Ihren Pfad mit \ beginnen, handelt es sich um einen absoluten und nicht um einen relativen Pfad . Versuchen Sie stattdessen copy "Debug\text.txt" "..\..\new"

34
Stephan

wenn Sie Debug haben, versuchen Sie es mit

md   "..\..\new" >nul 2>&1
copy ".\Debug\text.txt" "..\..\new"

md erstellt ein new-Verzeichnis, das zwei Ebenen höher ist, wenn Sie es noch nicht haben. 

1
npocmaka

Das bedeutet, dass Sie nicht den richtigen Pfad angegeben haben. Stellen Sie sicher, dass Sie den richtigen vollständigen Pfad der Datei angeben. .

Geben Sie anstelle von "\ Debug\Text ...." den gesamten Pfad wie "C:\Debug\Text ..." an. 

0
Stunner

Wenn Sie bat zum Ausführen der Kopierbefehle verwenden, sollte Ihre Syntax so sein.

bat 'copy "C: \\ Programme (x86) \\ Anwendungsdateien \\ erster Ordner \\ application.yml" "C: \\ Programme (x86) \\ Anwendungsdateien \\ zweiter Ordner \\ application.yml"'

In diesem obigen Befehl gibt es zwei wichtige Dinge:

  1. Wenn Ihr Dateipfad Leerzeichen enthält, müssen Sie den Pfad in Anführungszeichen setzen.
  2. Verwenden Sie das Escape-Zeichen, wenn Sie den Windows-Dateipfad verwenden, da für einige Befehlszeilentools ein Escape-Pfad erforderlich ist. Verwenden Sie also statt '\' '\\'. Dies ist hilfreich, wenn Sie bat-Befehle in CI/CD-Tools ausführen.
0
Manish Bhakuni