我编写了一个 PowerShell 脚本,用于压缩文件夹的内容并将其发送到服务器进行备份。问题是复制过程不会等待 zip 过程完成。我尝试使用Out-Nulland Wait-Process,但似乎没有任何效果。 Out-Null只是不做任何事情,并Wait-Process告诉我不存在这样的过程。我似乎无法弄清楚 Windows 压缩的进程名称。任何帮助将不胜感激。下面是我想暂停直到完成的代码部分。
function out-zip {
Param([string]$path)
if (-not $path.EndsWith('.zip')) {$path += '.zip'}
if (-not (test-path $path)) {
set-content $path ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
}
$ZipFile = (new-object -com shell.application).NameSpace($path)
$input | foreach {$zipfile.CopyHere($_.fullname)}
}
gi "C:\File-Backups\Share1" | out-zip C:\File-Backups\transfer\PC1-Backup
Run Code Online (Sandbox Code Playgroud)