Der 7z
Befehl in der von Ihnen angegebenen Stapeldatei verwendet den vollständigen Pfad der Eingabedatei, um die Ausgabedatei abzurufen.
Um dies zu ändern, können Sie ändern, "%~1.zip"
um "<destinationPath>\%~nx1.zip"
wie unten dargestellt oder "<destinationPath>\%~n1.zip"
wenn Sie die Erweiterung der ursprünglichen Datei in dem neuen Dateinamen werden nicht brauchen.
@echo off if [%1]==[] goto :eof :loop 7z a -tzip "<destinationPath>\%~nx1.zip" "%~1" shift if not [%1]==[] goto loop
Zur Klarstellung:
%~1
steht für den vollständig qualifizierten Pfadnamen der ersten Eingabe (z. B. C: \ mein \ Pfad \ text.txt)%~n1
steht nur für den Dateinamen der ersten Eingabe (zB: Text)%~x1
stellt nur die Erweiterung der ersten Eingabe dar (Beispiel: .txt)- Diese beiden werden kombiniert
%~nx1
, um den Dateinamen und die Erweiterung der ersten Eingabe darzustellen (Beispiel: test.txt).