Ich glaube, ich vermisse etwas, weil ich anscheinend nicht finde, was das bedeutet.
Beispiel:
for /D %%A in (*) do "\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
Diese Zeile sollte eine Befehlszeilenversion von verwenden 7zip
, um einzelne Ordner zu komprimieren, aber ich bin ratlos, was %%A
dies in diesem Zusammenhang bedeutet.
command-line
batch
batch-file
7-zip
Jim Kieger
quelle
quelle
Antworten:
Der
for
Befehl benötigt einen Platzhalter, damit Sie Variablen zur späteren Verwendung in der Abfrage weitergeben können. Wir sagen, dass er den Platzhalter verwendet%A
. Der Grund, warum der Code, den Sie gesehen haben, verwendet wird,%%A
liegt darin, dass in einer Batch-Datei (von der ich annehme, dass Sie diese gefunden haben) die%
hat eine besondere Bedeutung, daher müssen Sie dies zweimal tun,%%
damit es in eine einzelne umgewandelt wird%
, die an denfor
Befehl übergeben wirdUm tatsächlich zu trennen, was der Befehl tut, besteht der Befehl aus zwei Teilen:
In diesem Teil heißt es, dass Sie für jeden Ordner im aktuellen Ordner den folgenden Befehl ausführen und
%%A
durch den Namen des aktuell verarbeiteten Ordners ersetzen .In diesem Teil heißt es, den Befehl auszuführen
"\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
und die beiden%%A
durch den aktuellen Datensatz zu ersetzen, den wir verarbeiten.quelle
Es ist eine Variable.
In diesem Beispiel wird die Verzeichnisoption einer FOR-Schleife verwendet , die die Verzeichnisse durchläuft und sie %% A zuweist.
Dies ist auch kein Befehlszeilenbeispiel, sondern ein Beispiel für eine Batchdatei. In Batch-Dateien müssen Sie %% A verwenden, während Sie in der Befehlszeile nur% A verwenden.
quelle
In Ihrem Szenario ist %% A ein Platzhalter für das, worüber die "for" -Schleife iteriert (wobei / D Verzeichnisse angibt). Bei jeder Iteration der Schleife ist %% A eines der Verzeichnisse.
Im Batch-Code wird %% anstelle von% angezeigt. In Ihrer Eingabeaufforderung wird% anstelle von %% angezeigt.
Wenn Sie also einen Batch-Dateicode in eine Eingabeaufforderung kopieren und mit %% ausführen, tritt ein Fehler auf und umgekehrt.
quelle