如何提取該資料夾子目錄中的所有存檔?

如何提取該資料夾子目錄中的所有存檔?

我研究了這個標題並給了以下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).

來源-ao(覆蓋模式)開關

答案2

產生提示的是 7-zip。它看起來像-y轉變因為7z.exe做你想要的:

所有覆蓋查詢都將被抑制,磁碟上與存檔中檔案名稱相同的檔案將被覆寫。

文件的範例表明您應該將其放置-y在給定的路徑之後7z.exe

相關內容