На самом деле есть только два метода, чтобы имитировать его, в основном вы запускаете файл без создания новой оболочки, однако, скрывая все команды, вы убедитесь, что он не показывает ни одного, также используйте cls
, так как это будет убедитесь, что он не показывает вам, что запускает, но он не защищен от ошибок:
batch1.cmd
start "" /b batch2.cmd
cls
batch2.cmd ]
@echo off
echo Hello World>nul
ping localhost>nul
(echo hello world>Mytest.txt)>nul
Строка (echo hello world>Mytest.txt)>nul
предназначена для имитации того, как вы можете передавать информацию в файл, но по-прежнему направлять вывод экрана на nul
, поэтому он не отображается на экране.
Или вы можете запустить вторую партию в свернутом режиме, но пользователь может развернуть ее или развернуть:
batch1.cmd
start "" /min batch2.cmd
[ 1120] batch2.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