Ich habe ein Batch-Skript wie folgt.
D:
del "D:\TEST\TEST1\Archive\*.TSV"
del "D:\TEST\TEST1\Archive\*.TXT"
del "D:\TEST\TEST2\Archive\*.TSV"
del "D:\TEST\TEST2\Archive\*.TXT"
del "D:\TEST\TEST 100%\Archive\*.TSV"
del "D:\TEST\TEST 100%\Archive\*.TXT"
Der obige Code löscht alle ".txt" - und ".tsv" -Dateien aus allen Ordnern mit Ausnahme des Ordners TEST 100%
. Zum Löschen der Dateien aus TEST 100%
bekomme ich den Fehler als The Path could not be found
. Ich denke, das% -Symbol im Ordnernamen verursacht das Problem. Kann mich jemand anleiten, das Problem zu beheben und die Dateien aus dem Ordner zu löschen TEST 100%
?
batch-file
Satheesh
quelle
quelle
Antworten:
Sie müssen dem% mit einem anderen entkommen ...
quelle
Es gibt mehrere Möglichkeiten, Dinge im Stapel zu erledigen. Wenn
%%
Sie also nicht mit einem doppelten Prozentsatz entkommen können , können Sie Folgendes versuchen:So funktioniert das:
set olddir=%CD%
setzt die Variable"olddir"
oder einen beliebigen anderen Variablennamen auf das Verzeichnis fest, aus dem Ihre Batchdatei gestartet wurde.cd /d "path of folder"
ändert das aktuelle Verzeichnis, in dem der Stapel angezeigt wird. Behalten Sie die Anführungszeichen bei und ändern Sie den Pfad des Ordners zu dem Pfad, den Sie anstreben.del "file name/ or *.txt etc..."
löscht die Datei in dem aktuellen Verzeichnis, in dem sich Ihr Stapel befindet. Fügen Sie einfach keinen Verzeichnispfad vor dem Dateinamen hinzu und haben Sie nur den vollständigen Dateinamen oder, um mehrere Dateien mit derselben Erweiterung mit*.txt
oder einer beliebigen Erweiterung zu löschen .cd /d "%olddir%"
Nimmt die mit Ihrem alten Pfad gespeicherte Variable und kehrt zu dem Verzeichnis zurück, mit dem Sie den Stapel gestartet haben. Dies ist nicht wichtig, wenn Sie nicht möchten, dass der Stapel zum vorherigen Verzeichnispfad zurückkehrt, und wie angegeben, bevor der Variablenname geändert werden kann was auch immer Sie wünschen, indem Sie das ändernset olddir=%CD% line
.quelle
pushd "folder" && del "filename" & popd
.Nehmen wir an, Sie haben Ihre Software auf Ihrem Desktop gespeichert.
Wenn Sie einen ganzen Ordner wie ein Deinstallationsprogramm entfernen möchten, können Sie dies verwenden.
Dadurch werden der gesamte Ordner namens Software und alle seine Dateien und Unterordner gelöscht
Stellen Sie sicher, dass Sie den richtigen Ordner löschen, da dies keine Ja / Nein-Option hat
quelle
Bedenken Sie, dass die zu löschenden Dateien eine Erweiterung haben
txt
und sich am Speicherort befindenD:\My Folder
. Dann können Sie den folgenden Code in der bat-Datei verwenden.quelle
Im Batch-Code sollte Ihr Pfad kein Leerzeichen enthalten. Ändern Sie daher Ihren Ordnernamen von "TEST 100%" in "TEST_100%". Ihr neuer Code lautet "D: \ TEST \ TEST_100% \ Archive * .TXT".
Ich hoffe, dies wird Ihr Problem lösen
quelle