我在尋找等價的PowerShell命令:單行在PowerShell中壓縮文件夾?
tar -zcvf tar-archive-name.tar.gz source-folder
會有這樣一個班輪存在,創建一個文件夾遞歸添加source-folder
的內容,並不需要一個第三一個zip文件像7-zip這樣的派對圖書館?
我在尋找等價的PowerShell命令:單行在PowerShell中壓縮文件夾?
tar -zcvf tar-archive-name.tar.gz source-folder
會有這樣一個班輪存在,創建一個文件夾遞歸添加source-folder
的內容,並不需要一個第三一個zip文件像7-zip這樣的派對圖書館?
與Powershell 5開始,你可以使用內置的Compress-Archive
命令:
Compress-Archive -Path source-folder -DestinationPath archive-name.zip
如果使用之前版本5 PowerShell中,有沒有像7-ZIP第三方程序中沒有一個班輪解決方案。但是,您可以利用通過COM Shell object公開的windows explorer中內置的壓縮功能來構建自己的PowerShell功能來執行此操作。 This page outlines the details關於如何這樣做。
實際上,有一行代碼可以創建zip檔案,甚至有一行代碼可以創建完全匹配,即一個tar文件。您應該首先尋找這樣的庫函數PowerShell Community Extensions,爲PowerShell提供了豐富的高質量庫擴展。不幸的是,對於某個特定項目的網絡搜索,如您的zip創建功能,可能會因爲無處在站點或文檔中而包含所提供的cmdlet和函數的列表,因此而不是會啓動任何內容。爲了找出你必須安裝庫,然後做help about_pscx
。通過篩選,這裏是什麼,你會發現有關你的問題:
Write-Zip
Create ZIP format archive files from pipline or parameter input.
Write-GZip
Create GNU ZIP (GZIP) format files from pipeline or parameter input.
Write-Tar
Create Tape Archive (TAR) format files from pipeline or parameter input.
在這裏,從他們的嵌入式例子,是如何使用它們:
PS> dir c:\logs\ -rec -inc *.log | write-zip -level 9 -removeoriginal
PS> dir c:\logs\ -rec -inc *.log | write-tar -output logs.tar | write-gzip -level 9 | move-item c:\archived_logs\
這些功能目前在PSCX 2.1及更高版本中被破解。沒有ETA正在修復。 – Encryption 2014-10-28 02:42:53
能否請你告訴7-拉鍊sloution。謝謝 – 2018-01-10 17:41:14
@ F505您現在可以直接在PS中執行此操作,請參閱最新的答案。 – zdan 2018-01-10 18:26:24
@ F505您正試圖從檔案中提取,而不是創建一個檔案。我不認爲內置的PowerShell存檔功能支持gzip。試着問一個單獨的問題。 – zdan 2018-01-10 23:12:01