我必须在不显示命令行的情况下运行批处理文件,但命令行会一直弹出。这是我的代码:
@echo off
:SAMPLE
cd /d C:
md %RANDOM%
cd /d D:
md %RANDOM%
cd /d E:
md %RANDOM%
goto SAMPLE
答案 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