您好,登錄后才能下訂單哦!
最近寫腳本遇到了一個解壓縮文件的問題,嘗試了很多方法,現在來總結一下。
#Extract ZIP files
if (-not (test-path "$env:ProgramFiles\7-Zip\7z.exe")) {throw "$env:ProgramFiles\7-Zip\7z.exe needed"}
set-alias sz "$env:ProgramFiles\7-Zip\7z.exe"
sz x "$destinationpath" -y -oC:\Wicn_sys
#-oC:\Wicn_sys 這里用變量會出現問題,我用固定的路徑
首先需要客戶端都安裝了7zip軟件,在某些客戶端運行并不成功。畢竟調用了第三方工具,效率,成功率,都有點問題
你在客戶端上,找個壓縮文件,右鍵,如果有Extract All的功能,說明內置了windows的自解壓功能。易用簡單,但需要.net的版本條件,.net 4.5以上
$BackUpPath = "C:\a.zip"
$Destination = "C:\1"
Add-Type -assembly "system.io.compression.filesystem"
[io.compression.zipfile]::ExtractToDirectory($BackUpPath, $destination)
如果報錯說明當前運行的.net版本低了
$shell = New-Object -ComObject shell.application
$zip = $shell.NameSpace("C:\a.zip")
MkDir("C:\a")
foreach ($item in $zip.items()) {
$shell.Namespace("C:\a").CopyHere($item)
}
折騰了一天,為避免大家也浪費時間,最后就兩點。
如果你做批量化的推送,要么你在所在客戶端上安裝7zip的軟件,要么把所有客戶端的.net升級到4.5以上。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。