我想运行一个.bat文件,该文件在新cmd中运行另一个.bat文件,但我想隐藏新打开的cmd或在后台运行它。我不想使用 .vbs 方法。还有别的办法吗?
实际上只有两种方法,要模拟它,基本上您可以在不创建新 shell 的情况下启动文件,但是,隐藏所有命令将确保它不显示任何命令,也使用 cls
因为它将确保它不会向您显示它启动的内容,但它不是万无一失的:
批次1.cmd
start "" /b batch2.cmd
cls
批次2.cmd
@echo off
echo Hello World>nul
ping localhost>nul
(echo hello world>Mytest.txt)>nul
(echo hello world>Mytest.txt)>nul
行是模拟如何将信息通过管道传输到文件,但仍将屏幕输出通过管道传输到nul
以便它不会显示在屏幕上。
或者,您可以在最小化模式下运行第二批,但用户可以最大化或还原:
批次1.cmd
start "" /min batch2.cmd
批次2.cmd
@echo off
echo Hello World>nul
ping localhost>nul
(echo hello world>Mytest.txt)>nul
但是,不确定为什么您不想使用vbs
方法,因为它肯定是最好和最简单的方法。
Set MyScript = CreateObject("WScript.Shell")
MyScript.Run "f:login.bat", 0, False