windows - 带有计时器的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
问题是脚本会很快删除该项目,我实际上想等待安装完成然后删除文件。
什么可以在这里工作?
解决方案
start-process 使用 passthru 参数,将返回的 ID 保存到变量中,等待进程关闭即可删除
推荐阅读
- javascript - 为什么h3标签没有问题,输入值不能写到函数外?
- python - 列表是可变的,但元组是不可变的,那么在运行函数元组时,x的值是如何变化的呢?
- javascript - 在 HTML 画布上调整旋转矩形的大小
- python - 如何共享函数内部的mysql连接?
- kotlin - 如何在一个协程中读取文件并在另一个协程中打印行?
- c# - 无法安装 UWP 应用程序
- c - 正确的公式,错误的程序... C 编程循环
- javascript - 修改对象数组的键和值并将其复制到另一个对象数组中
- php - Yii2 $model->save() 和验证码验证规则不起作用
- compiler-construction - 通过合适的例子理解预测解析中错误恢复(恐慌模式)的启发式