
Ich habe diesen Titel recherchiert und als Antwort wurde die folgende CMD-Datei angegeben:
FOR /D /r %%F in ("*") DO (
pushd %CD%
cd %%F
FOR %%X in (*.rar *.zip) DO (
"C:\Program Files\7-zip\7z.exe" x %%X
)
popd
)
Die cmd-Datei funktioniert bis zu einem gewissen Punkt einwandfrei. Allerdings gibt sie für jede gefundene Datei mit der Erweiterung „ZIP“ die folgende Meldung aus und fragt:
Would you like to replace the existing file:
Path xxxxxx
Size xxxx
Modified: XXXXXXX
with the file from the archive:
Path: xxxx
Size: xxxxx
? Y<es> \ N<o> \ A<lways> \ S<kip all> \A<u>to rename all \ <Q>uit
Es stoppt dort und wartet auf eine Eingabe. Aber es fragt jedes Mal nach, wenn eine Datei entpackt wird. Ich wollte die obige Befehlsdatei mit etwas modifizieren, das prüft, ob etwas ?
gefunden wird, und dann eine Antwort-Befehlsdatei aufruft, die ein „Y“ ausgibt und dann beendet wird, was mich zur ursprünglichen Befehlsdatei zurückbringen würde, um die nächste Datei mit dem gefundenen „Zip“ zu verarbeiten.
Ich weiß nicht, ob ich auf dem richtigen Weg bin, aber ich wäre für etwas Hilfe dankbar. Ich weiß nicht, welches Programm den Text ausgibt ?
. Ist es Windows 7 oder 7-Zip, das das fragt?
Antwort1
Ich weiß nicht, welches Programm das "?" und den Text ausgibt
Es ist 7z.exe
.
Der richtige Schalter ist -aoa
(Alle vorhandenen Dateien ohne Aufforderung überschreiben).
Beispiel:
"C:\Program Files\7-zip\7z.exe" x %%X -aoa
-ao-Schalter (Überschreibmodus)
Gibt den Überschreibmodus während der Extraktion an, um bereits auf der Festplatte vorhandene Dateien zu überschreiben.
Syntax -ao[a | s | t | u ] Switch Description -aoa Overwrite All existing files without prompt. -aos Skip extracting of existing files. -aou aUto rename extracting file (for example, name.txt will be renamed to name_1.txt). -aot auto rename existing file (for example, name.txt will be renamed to name_1.txt).
Antwort2
Es ist 7-zip, das die Eingabeaufforderung erzeugt. Es sieht aus wie das-y
schaltenfor 7z.exe
macht was du willst:
Alle Überschreibabfragen werden unterdrückt und Dateien auf der Festplatte mit denselben Dateinamen wie im Archiv werden überschrieben.
Das Beispiel in der Dokumentation gibt an, dass Sie -y
nach dem angegebenen Pfad platzieren sollten 7z.exe
.