执行批处理文件而不显示命令行

时间:2014-05-09 06:09:42

标签: batch-file cmd

我必须在不显示命令行的情况下运行批处理文件,但命令行会一直弹出。这是我的代码:

@echo off
:SAMPLE
cd /d C:
md %RANDOM%
cd /d D:
md %RANDOM%
cd /d E:
md %RANDOM%
goto SAMPLE

3 个答案:

答案 0 :(得分:14)

<强>解决方案-1

将代码保存在批处理文件中,例如My.bat

创建一个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

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

<强>解决方案-2

如果可能的话,修改批处理文件以使用start命令运行任何程序。默认情况下,start会立即返回,而不会等待程序退出,因此批处理文件将继续运行,并且可能会立即退出。结合修改快捷方式以最小化运行批处理文件,您只能看到任务栏闪烁,甚至没有看到屏幕上的窗口。

答案 1 :(得分:1)

以下示例代码可以使用

start cmd /c "some command && exit 0"

诀窍是=&gt; &安培;&安培;退出0

答案 2 :(得分:0)

您可以通过以下方式使用重定向:

@echo off
:SAMPLE
cd /d C:
md %RANDOM% >nul 2>&1
cd /d D:
md %RANDOM% >nul 2>&1
cd /d E:
md %RANDOM% >nul 2>&1
goto SAMPLE

来自:Suppress command line output