【问题标题】:Sequentially run multiple scripts from one 'master' script从一个“主”脚本顺序运行多个脚本
【发布时间】:2018-01-12 17:18:54
【问题描述】:

我有很多 ps1 scipts,我一个一个手动执行,它们的语法中有 $ErrorActionPreference = "Stop",所以如果出现问题,它们会停止。

我需要帮助的是创建一个可以顺序运行所有这些脚本的 ps1 脚本。因此,如果一个脚本失败,“主脚本”必须停止并且不能继续执行下一个脚本。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    如果您有 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 |% { & $_ }
    

    【讨论】:

    • 您可能想要对您获得的文件进行排序,因为并非每个文件系统都会为您提供按字母顺序排列的文件(尤其是在非 Windows 系统上)。
    • 另外值得注意的是%ForEach-Object的别名
    猜你喜欢
    • 2021-12-19
    • 2013-04-18
    • 2023-01-13
    • 2019-08-28
    • 2015-02-18
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多