CMDまたは.batファイルをサイレントモードで実行するにはどうすればよいですか? CMDインターフェイスがユーザーに表示されないようにしています。
StackOverflowの質問で、バックグラウンドでバッチファイルを 実行する方法を提案しました(DOSウィンドウが表示されません)
それはあなたの質問に答えるはずです。
ここにあります:
最初のスクリプトから、次の行を使用して2番目のスクリプトを呼び出します。
wscript.exe invis.vbs run.bat %*
実際、次のようにvbsスクリプトを呼び出しています。
%*
)次に、invis.vbsは、 Windows Script Host Run()メソッド を使用してスクリプトを呼び出します。
完全なinvis.vbsスクリプトの質問を参照してください。
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
^
means "invisible window" ---|
Tammenのフィードバック後の更新:
DOSセッションで、「バックグラウンドで」別のスクリプトを起動する場合は、単純な/b
( 前述の質問 で詳述)で十分です。
start /b second.bat
を使用して、最初のウィンドウを共有する最初のバッチファイルから非同期に2番目のバッチファイルを起動できます。
フレーズを含める
@echo off
あなたのバットスクリプトの一番上に。
http://www.battoexeconverter.com からAdvanced BAT to EXE Converterを使用します
これにより、バッチファイルに追加のバイナリを1つのスタンドアロンの完全にサイレントなEXEとそのフリーウェアに埋め込むことができます。
Bat To Exe Converterを使用してこれを行う
http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html
(選択 直接ダウンロードリンク)
1-Bat to Exe Converterを開き、Batファイルを選択します。
2-オプションメニューで[非表示アプリケーション]を選択し、コンパイルボタンを押します。
できた!
これは、DOSウィンドウを開かずにバッチファイルを実行する最も簡単で最短のソリューションであり、一連のコマンドを定期的に実行するようにスケジュールしたい場合は非常に邪魔になる可能性があるため、DOSウィンドウがポップアップし続けると思います。 VBSスクリプトを使用してバッチファイルを呼び出す...
Set WshShell = CreateObject("WScript.Shell" )
WshShell.Run chr(34) & "C:\Batch Files\ mycommands.bat" & Chr(34), 0
Set WshShell = Nothing
上記の行をエディターにコピーし、ファイルを.VBS拡張子で保存します。それに応じて、.BATファイル名とパスを編集します。
SilentCMDを試してください。これは、コマンドプロンプトウィンドウを表示せずにバッチファイルを実行する小さなフリーウェアプログラムです。
サイレントモードでコマンドプロンプトを実行する場合、単純なvbsコマンドがあります。
Set ws=CreateObject("WScript.Shell")
ws.Run "TASKKILL.exe /F /IM iexplore.exe"
cmdでurlを静かに開くにしたい場合、ここにコードがあります:
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"
私はこの方法が一番好きだと確信しています。以下のコードをコピーして、.vbsファイルに貼り付けます。そこからバッチファイルを呼び出します...ですので、最後の行を編集して、バッチファイルのパスと名前を指定してください(起動するファイルを含むか、実行する必要のあるアクションを実行する必要があります)
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)
それは間違いなく私のために働いた。コメントを歓迎します:)
私は RunApp を作成し、そのような仕事をし、本番環境でもそれを使用しています。
以下のような設定:
ファイル:config.arg
:style:hidden
MyBatchFile.bat
arg1
arg2
代わりにrunapp.exe
を起動します。