我有很多ps1 scipts,我手动逐个执行,他们的语法中有$ErrorActionPreference = "Stop"
,所以如果出现问题他们就会停止。
我想要的帮助是创建一个可以按顺序运行所有这些脚本的ps1脚本。因此,如果一个脚本未通过"主脚本"必须停止而不是继续使用下一个脚本。
答案 0 :(得分:0)
如果你有4个文件,如:
1WriteHello.ps1
Write-Host "Hello " -NoNewLine
2WriteWorld.ps1
Write-Host "World!"
3WriteError.ps1
Write-Error "Something went wrong."
4WriteANumber.ps1
Write-Host "123"
您可以使用以下命令运行它:
$ErrorActionPreference = 'Stop'; Get-Item 'C:\Path\*.ps1' |% { & $_.FullName }
在你的例子中:
$Scripts = 'D:\temp\download_script.ps1', 'D:\temp\upload_script.ps1', 'D:\temp\reset_scripts.ps1'
$ErrorActionPreference = 'Stop'
$Scripts |% { & $_ }