【问题标题】:Startup script to run in background在后台运行的启动脚本
【发布时间】:2012-05-30 19:36:30
【问题描述】:

我有以下 bat 文件:

@echo off
start /min powershell "& 'C:\Admin\c.ps1'"
exit

我不想显示 powershell 窗口,因为这是一个在启动时运行的管理脚本。

我的印象是使用start /min 会解决它,但它仍然显示。

【问题讨论】:

    标签: windows powershell command-line batch-file


    【解决方案1】:

    PowrShell 有一个隐藏式启动的开关。也就是说,控制台可能会在短时间内可见,直到它消失。由于这是一个管理脚本,我还建议使用 NonInteractive 开关来防止有人干扰它

    @echo off
    powershell -NonInteractive -File C:\Admin\c.ps1 
    exit
    

    如果您根本无法看到控制台,请考虑使用 vbs 文件来启动 powershell:

    Set oShell = CreateObject("WSCript.Shell")
    oShell.Run("powershell -NonInteractive -File C:\Admin\c.ps1",0,False)
    

    【讨论】:

      【解决方案2】:

      如果您使用“任务计划程序”、“启动时运行一次”,则可以选择隐藏这样的窗口。

      【讨论】:

        【解决方案3】:

        START 命令具有选项/b 可以在不创建新窗口的情况下启动应用程序。

        试试

        start /b powershell "& 'C:\Admin\c.ps1'"
        

        【讨论】:

          【解决方案4】:

          您可以使用 VBScript 来阻止窗口出现。

          Set objShell = WScript.CreateObject("WScript.Shell")
          objShell.Run("C:\Admin\c.ps1"), 0, True
          

          另外你可以用它代替批处理文件,所以也不会有 cmd 窗口。

          希望这会有所帮助。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-01-21
            • 1970-01-01
            • 2013-10-14
            • 1970-01-01
            • 2012-05-03
            • 2010-12-08
            • 1970-01-01
            相关资源
            最近更新 更多