【问题标题】:Hiding a simple batch window隐藏一个简单的批处理窗口
【发布时间】:2011-08-04 12:10:37
【问题描述】:

我已经搜索了这个并且出现了一些不是很有用或太复杂的页面(我不是一个熟练的批处理文件程序员!)!我需要的是以隐藏形式运行一个批处理文件(没有控制台窗口)。不会从外部应用程序或代码调用批处理文件。它将被客户端单击,然后我不希望显示任何控制台页面(仅应显示由 call 命令调用的页面)!批处理文件如下:

@echo off
call setup.exe
IF EXIST "C:/caillog" goto tracking 
IF NOT EXIST "C:/caillog" goto end


:tracking
call dotnet4.exe
call ClientService.msi
goto end

:end

【问题讨论】:

    标签: windows command-line batch-file cmd


    【解决方案1】:

    我用VBScripts把它打开隐藏起来,像这样:

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run("%batchfile%"), 0, True
    

    例如我要运行的 bat 文件是 run.bat 然后我会这样做

    objShell.Run("run.bat"), 0, True
    

    不要运行批处理文件,而是运行 vb 文件。

    在记事本中写入并保存为*.vbs

    【讨论】:

    • %batchfile% 应该是 file.bat 或 %file.bat% 或者它是如何工作的?
    • 我只是把它作为你的批处理文件的占位符,我把“%batchfile%”放在引号之间
    • 示例 - objShell.Run("C:\batchfile.bat"), 0, True
    • 很好,那个代码很好,我们可以从 autorun.inf 运行一个 .vbs 文件吗?
    • 您想从可移动媒体运行 autorun.inf 吗?
    【解决方案2】:

    正如其他人所说,使用 VBS。

    Set WinScriptHost = CreateObject("WScript.Shell")
    WinScriptHost.Run Chr(34) & "C:\FilePath" & Chr(34), 0
    Set WinScriptHost = Nothing
    

    这是我用的。

    【讨论】:

      【解决方案3】:

      如果你的 Windows 系统支持 powershell,你可以把它放在 "@echo off" 的前面:

      cmd /c powershell -Nop -NonI -Nologo -WindowStyle Hidden "Write-Host"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-08
        • 2016-12-30
        • 2011-02-12
        • 1970-01-01
        • 2016-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多