在.bat文件中隐藏CMD窗口? (回声关闭方法不起作用)

时间:2013-12-20 07:17:49

标签: windows batch-file cmd

此代码中仍显示命令提示符? 我在某处看到了> nul 2> nul,但我不知道该把它放在哪里?

@echo off
rem script1
cd C:\Users\Blah\Downloads\Script\
start script1
rem script2
cd C:\Program Files (x86)\script\
start /W  script3.exe
rem somthing
cd C:\Program Files (x86)\script\
start /W script4.exe
exit

2 个答案:

答案 0 :(得分:0)

我认为您看到的输出来自您正在调用的脚本。

尝试以下(即):

cd C:\Program Files (x86)\script\
start /W  script3.exe > nul 2> nul

> -symbol将输出重定向到文件,如果该文件是nul,则将其发送到所谓的“null-device”,这意味着它只是被删除。 2>也会重定向任何错误输出。您应该小心第二个,因为它可能会导致您不会看到脚本中发生的实际错误。

答案 1 :(得分:0)

1 。将您的代码保存在批处理文件中,让我们说My.bat如下:

<强> My.bat

@echo off
rem script1
cd C:\Users\Blah\Downloads\Script\
start script1
rem script2
cd C:\Program Files (x86)\script\
start /W  script3.exe
rem somthing
cd C:\Program Files (x86)\script\
start /W script4.exe
exit

<强> 2 即可。创建一个VBScript文件,让我们说Master.vbs并在其中调用您的My.bat文件。

让我们假设您的批处理文件位于C:\ Test \ My.bat然后:

<强> Master.vbs

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Test\My.bat" & Chr(34), 0
Set WshShell = Nothing

它会以不可见/隐藏模式运行您的批处理文件。