
我研究了這個標題並給了以下CMD文件的答案:
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
)
cmd 檔案在某種程度上運作得很好。除了它為找到的每個帶有“ZIP”擴展名的檔案提供以下訊息並詢問:
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
它停在那裡等待輸入。但每次解壓縮每個檔案時它都會詢問。我打算用一些東西來修改上面的命令文件,檢查是否?
找到,然後調用響應cmd文件,該文件輸出“Y”然後退出,這將帶我回到原始命令文件以處理下一個文件它找到了“zip 」。
我不知道我是否走在正確的道路上,但我會感謝一些幫助。我不知道哪個程式正在輸出?
和 文字。請問是 Windows 7 還是 7-zip?
答案1
我不知道哪個程式輸出“?”和文字
這是7z.exe
。
正確使用的開關是-aoa
(覆蓋所有現有文件而不提示。)
例子:
"C:\Program Files\7-zip\7z.exe" x %%X -aoa
-ao(覆蓋模式)開關
指定提取期間的覆蓋模式,以覆蓋磁碟上已存在的檔案。
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).
答案2
產生提示的是 7-zip。它看起來像-y
轉變因為7z.exe
做你想要的:
所有覆蓋查詢都將被抑制,磁碟上與存檔中檔案名稱相同的檔案將被覆寫。
文件的範例表明您應該將其放置-y
在給定的路徑之後7z.exe
。