我对脚本和“编程”仍然很陌生。如果您在这里错过任何信息,请告诉我。这是我的工作 zip 功能:
$folder = "C:\zipthis\"
$destinationFilePath = "C:\_archive\zipped"
function create-7zip{
param([string] $folder,
[String] $destinationFilePath)
write-host $folder $destinationFilePath
[string]$pathToZipExe = "C:\Program Files (x86)\7-Zip\7zG.exe";
[Array]$arguments = "a", "-tzip", "$destinationFilePath", "$folder";
& $pathToZipExe $arguments;
}
Get-ChildItem $folder | ? { $_.PSIsContainer} | % {
write-host $_.BaseName $_.Name;
$dest= [System.String]::Concat($destPath,$_.Name,".zip");
(create-7zip $_.FullName $dest)
}
create-7zip $folder $destinationFilePath
现在我想让他压缩我已经整理好的特殊文件夹:
get-childitem "C:\zipme\" | where-Object {$_.name -eq "www" -or $_.name -eq "sql" -or $_.name -eq "services"}
这个小函数可以找到我需要的 3 个文件夹,称为www, sql and services
. 但我没有设法将它插入到我的 zip 函数中,所以这个文件夹被压缩并放入C:\_archive\zipped
因为使用的是字符串而不是数组,所以他总是试图寻找一个不存在的名为 wwwsqlservice 的文件夹。我尝试使用数组放置一个数组,@(www,sql,services)
但没有成功,那么正确的方法是什么,如果有的话?它应该与 powershell 2.0 兼容,请不要使用 ps3.0 cmdlet 或函数。
提前致谢!