我希望我的脚本在Win 7和Win 10系统上运行,以生成zip或7z文件。
在Win10上,可以使用Add-Type
方式生成压缩文件。
Add-Type -assembly "system.io.compression.filesystem"
[io.compression.zipfile]::CreateFromDirectory($Source, $destination)
然而,在Win7上,它不起作用。因此,我只需将脚本更改为:
cmd /c "C:\Program Files\7-Zip\7z.exe" a "D:\$folderName.7z" $source
但是,并不能保证每个用户都能在C:\Program Files\7-Zip
下安装7z.exe。
所以我想知道如何在不指定zip.exe
路径的情况下编写可在Win7和Win10上使用的powershell脚本。
发布于 2018-05-01 05:32:29
如果可以选择升级到PowerShell 5,那么很容易:只需使用Compress-Archive cmdlet即可。
发布于 2018-05-01 03:57:01
以下是检查是否安装了7-Zip的一种方法:
$sevenZip = Join-Path ([Environment]::GetFolderPath([Environment+SpecialFolder]::ProgramFiles)) "7-Zip\7z.exe"
if ( -not (Test-Path -LiteralPath $sevenZip) ) {
Write-Error "7-Zip is required." -Category ObjectNotFound
return # or exit, if you are in a script
}
# Call it this way:
# & $sevenZip arg1 [arg2 [...]]
https://stackoverflow.com/questions/50107242
复制相似问题