首页 > 解决方案 > 带有计时器的Powershell删除项目?

问题描述

我有一个脚本,我的用户可以在其中在他们的计算机上安装程序。逻辑是->从网络路径复制安装文件到计算机的本地硬盘驱动器,使用不同的凭据运行安装文件我想删除该文件,但这段代码不好

copy-item "$path1" -Destination C:\ProgramData\ #copy from network path to local
$progyname = [System.IO.Path]::GetFileName($path1) #holding the programname.exe
Start-Process powershell -Credential $creds -workingdirectory c:\programdata\  -ArgumentList "-Command &{Start-Process $progyname -Verb RunAs}"
Remove-Item -path c:\programdata\$progyname -Force

问题是脚本会很快删除该项目,我实际上想等待安装完成然后删除文件。

什么可以在这里工作?

标签: windowspowershell

解决方案


start-process 使用 passthru 参数,将返回的 ID 保存到变量中,等待进程关闭即可删除


推荐阅读