解壓縮命令列以同步目標資料夾

解壓縮命令列以同步目標資料夾

有沒有辦法將 .zip 解壓縮到資料夾並將該資料夾的內容與 .zip 的內容同步?

我知道您可以使用 -u(pdate) 選項來使用較新的檔案更新資料夾,但這還不夠好。我需要它來進行實際同步(刪除 .zip 中不存在的文件,並更新較新的文件)。

它還需要很快,因為我​​將同步大型 .zip。因此,擦拭加乾淨解壓縮不是一個選擇。

我對任何能完成這項工作的工具持開放態度。但它必須在無人值守的情況下從命令列工作。

答案1

壓縮包有一個以以下選項命名的命令列支援附加元件WZUNZIP.EXE,可以-e在提取時與其參數結合使用:

-n-- 僅解壓縮較新的檔案。如果歸檔文件較新,此選項將更新現有文件;如果新文件尚不存在,則建立新文件。

答案2

我自己也花了很長時間尋找具有這種功能的東西。 Info-ZIP 實用程式是免費的,基於命令列,並具有一個 -FS 開關,除了更新較新的檔案之外,該開關還會從存檔中刪除來源資料夾中不再存在的檔案。 IE ZIP 檔案同步。 http://www.info-zip.org/ 注意:我對這個實用程式的唯一問題是沒有工具可以明確指定來源資料夾作為命令列參數的一部分。它使用當前工作目錄作為來源。因此,在腳本中,您將使用 CD 命令首先變更到來源目錄,然後啟動 ZIP 命令。例如:

CD /D D:\Program Settings\Favorites
zip -FS -r -9 -b %Temp% -q -ds 0 "D:\Backup\Favorites.zip" .

相關內容