запуск cmd или bat в бесшумном режиме

<p>как запустить файл cmd или .bat в режиме без вывода сообщений? я пытаюсь предотвратить показ интерфейса cmd пользователю.</p>

<p>я предложил в вопросе stackoverflow способ <a href="https://stackoverflow.com/questions/298562">запустить пакетный файл в фоновом режиме (<strong>окна dos не отображаются</strong>)</a> </p><p>это должно ответить на ваш вопрос.</p><p>вот:</p><hr><p>из вашего первого скрипта вызовите ваш второй скрипт со следующей строкой:</p><pre><code>wscript.exe invis.vbs run.bat %* </code></pre><p>на самом деле, вы вызываете скрипт vbs с:</p><ul> <li>[путь]\имя вашего скрипта</li> <li>все остальные аргументы, необходимые вашему скрипту (<code>%*</code>)</li> </ul><p>затем invis.vbs вызовет ваш скрипт с помощью метода <a href="http://msdn.microsoft.com/en-us/library/d5fk67ky(vs.85).aspx">windows script host run ()</a> , который принимает:</p><ul> <li>intwindowstyle: 0 означает «невидимые окна»</li> <li>bwaitonreturn: false означает, что вашему первому сценарию не нужно ждать завершения второго сценария</li> </ul><p>смотрите вопрос для полного скрипта invis.vbs:</p><pre><code>set wshshell = wscript.createobject("wscript.shell") wshshell.run """" & wscript.arguments(0) & """" & sargs, 0, false ^ means "invisible window" ---| </code></pre><hr><p>обновление после обратной связи таммена:</p><p>если вы находитесь в сеансе dos и хотите запустить другой скрипт «в фоновом режиме», простого <code>/b</code> (как подробно описано в <a href="https://stackoverflow.com/questions/298562">тот же вышеупомянутый вопрос</a> ) может быть достаточно:</p><blockquote> <p>вы можете использовать <strong><code>start /b second.bat</code></strong> для асинхронного запуска второго пакетного файла из вашего первого, который разделяет окно вашего первого.</p> </blockquote>

<p>включить фразу</p><p><code>@echo off</code></p><p>прямо в верхней части вашего сценария летучей мыши.</p>

<p>используйте advanced bat в exe converter от <a href="http://www.battoexeconverter.com">http://www.battoexeconverter.com</a> </p><p>это позволит вам встраивать любые дополнительные двоичные файлы с вашим командным файлом в один автономный полностью тихий exe-файл и его бесплатное программное обеспечение.</p>

<p>используйте bat to exe converter, чтобы сделать это<br></p><p> <a href="http://download.cnet.com/bat-to-exe-converter/3000-2069\_4-10555897.html">http://download.cnet.com/bat-to-exe-converter/3000-2069\_4-10555897.html</a> <br> (выберите <b>прямая ссылка для скачивания</b>)</p><p>1 - откройте bat to exe converter, выберите файл bat.<br> 2 - в меню «опции» выберите «невидимое приложение», затем нажмите кнопку «скомпилировать». <br></p><p>готово!</p>

<p>я думаю, что это самое простое и самое короткое решение для запуска пакетного файла без открытия окна dos, оно может сильно отвлекать, если вы хотите запланировать набор команд для периодического запуска, поэтому окно dos продолжает появляться, вот ваше решение . используйте vbs script для вызова командного файла ...</p><pre><code>set wshshell = createobject("wscript.shell" ) wshshell.run chr(34) & "c:\batch files\ mycommands.bat" & chr(34), 0 set wshshell = nothing </code></pre><p>скопируйте строки выше в редактор и сохраните файл с расширением .vbs. отредактируйте имя файла .bat и путь соответственно.</p>

<p>попробуйте <strong> <a href="http://www.stephan-brenner.com/?page\_id=345">silentcmd</a> </strong>. это небольшая бесплатная программа, которая запускает пакетный файл без отображения окна командной строки.</p>

<p>если я хочу запустить командную строку в режиме без вывода сообщений, то есть простая команда vbs:</p><pre><code>set ws=createobject("wscript.shell") ws.run "taskkill.exe /f /im iexplore.exe" </code></pre><p>если я хотел<strong> открыть url-адрес в cmd в молчании </strong>, то вот код:</p><pre><code>set wshshell = wscript.createobject("wscript.shell") return = wshshell.run("iexplore.exe http://otaxi.ge/log/index.php", 0) 'wait 10 seconds wscript.sleep 10000 set ws=createobject("wscript.shell") ws.run "taskkill.exe /f /im iexplore.exe" </code></pre>

<p>я уверен, что мне больше всего нравится этот метод. скопируйте и вставьте приведенный ниже код в файл .vbs. оттуда вы вызовете пакетный файл ... поэтому убедитесь, что вы отредактировали последнюю строку, чтобы указать путь и имя пакетного файла (который должен содержать файл, который вы хотите запустить или выполнить необходимые действия)</p><pre><code>const hidden\_window = 12 strcomputer = "." set objwmiservice = getobject("winmgmts:" \_ & "{impersonationlevel=impersonate}!\\" & strcomputer & "\root\cimv2") set objstartup = objwmiservice.get("win32\_processstartup") set objconfig = objstartup.spawninstance\_ objconfig.showwindow = hidden\_window set objprocess = getobject("winmgmts:root\cimv2:win32\_process") errreturn = objprocess.create("c:\pathoffile\name.bat", null, objconfig, intprocessid) </code></pre><p>это определенно сработало для меня. комментарии приветствуются :)</p>

<p>я создан <a href="https://github.com/futurist/runapp">runapp</a> для выполнения такой работы, а также использую ее в моей рабочей среде, надеюсь, это поможет.</p><p>конфиг, как показано ниже:</p><p><strong>file: config.arg</strong></p><pre><code>:style:hidden mybatchfile.bat arg1 arg2 </code></pre><p>и вместо этого запустите <code>runapp.exe</code>.</p>