コマンドウィンドウ」を起動せずにバッチファイルを実行するには?

batch-file command-line shortcuts windows
この質問はすでにここに答えがあります
バッチファイルを完全に隠された方法で実行する (24件の回答)
クローズド 4年前です。

Windows XPでは、ショートカットを使ってバッチファイル(.batまたは.cmd)を実行しても、「黒いウィンドウ」が表示されません

  143  dugres  2010-05-11


ベストアンサー

testing.batをバッチファイルの名前に置き換えた後、以下をwscript、例えばhidecmd.vbsとして保存してください

Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false

oShell.Runの2番目のパラメータは、プログラムのウィンドウの外観を示すintWindowStyleの値であり、0の値は非表示ウィンドウを示す

参考文献はこちらhttp://msdn.microsoft.com/en-us/library/d5fk67ky.aspx

97  Sharjeel Aziz  2010-05-11


これはShajiさんの回答を単純化しただけです。このようにVBScript (.vbs)スクリプトを使ってバッチスクリプトを実行することができます

'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True

これにより、コマンドウィンドウが表示されない状態でバッチファイルが実行されます

49  greatwolf  2012-02-15


Windowsスクリプトを使う」の答えを拡張するために、以下のようにします(これはすでに組み込まれているので、私はこれが一番良いと考えています)。追加のパラメータはバッチファイルに渡されます

If WScript.Arguments.Count >= 1 Then
ReDim arr(WScript.Arguments.Count-1)
For i = 0 To WScript.Arguments.Count-1
Arg = WScript.Arguments(i)
If InStr(Arg, " ") > 0 Then Arg = """" & Arg & """"
arr(i) = Arg
Next

RunCmd = Join(arr)
CreateObject("Wscript.Shell").Run RunCmd, 0, True
End If

例えば、上のファイルをNoShell.vbsとしてどこかに保存してから呼び出します

NoShell.vbs c:\foo\my_batch_file.bat

最後に、.vbsファイルを理解できない場所(Visual Studioの “External Tools “など)からこれを実行したい場合は、最初のパラメータとしてvbsファイルを、2番目のパラメータとしてバッチファイルを指定してC:\Windows\System32\wscript.exeを呼び出すとよいでしょう

23  Tobias J  2014-01-10


start を ‘/B’ オプションで指定してください。例えば、以下のようになります

@echo off
start /B go.bat

11  zaf  2010-05-11


ショートカットのプロパティを変更して最小化して実行することができます

完全に目立たないように実行するには、Windows Scriptingのような他のものが必要になります

10  ale  2010-05-11


余分なプログラムを使わないシンプルなソリューション

  1. 実行したいバッチファイルを作成してテストします
  2. そのためのショートカットを作成します
  3. ショートカットのプロパティを編集します。ショートカットにホットキーを割り当てれば完了です

Good luck!

8  Willem  2014-10-27


フリーのGPLオープンソース「隠されたプロセスを作成する

http://www.commandline.co.uk/chp/

Microsoft Security Essentialsや、おそらく他のほとんどのウイルス/マルウェアスキャナは、実行可能なchp.exeをウイルスとして扱いますが、これはウイルスがそうであるように、ウィンドウやタスクバーのボタンを表示しないように指定したプログラムを隠すからです

ウイルスではありません。例えばタスクマネージャに表示されているターゲットプロセスを隠すこともありません。そしてもちろんソースコードも含まれているので、非常に小さく、与えられたプログラムを実行するだけで何もしないことがわかります

同梱されているchp.exeが本当にそのソースから構築されたものかどうかを信用する必要はありません。同梱されているchp.exeを捨てて、ソースから自分のものをコンパイルすることもできますし、そのために必要なツールはすべて無料でダウンロードできます


また、.batまたは.cmdファイルへのショートカットを作成し、ショートカットを右クリックして、プロパティ、ショートカットタブ、実行。最小化」を選択します。そして、スケジュールされたタスクでは、.bat/.cmdファイルの代わりにショートカットを直接使用します。これにより、ウィンドウは表示されなくなりますが、タスクバーボタンは表示されます

7  bkw  2012-10-22


AutoItのようなウィンドウスクリプトを使用することができます

例として、AutoItスクリプトエディタにこれを書くだけです。かなり簡単です

Run("C:\test\batchfile.bat", "", @SW_HIDE)

ループで実行したい場合は

$x=0
Do
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Sleep(5000)
Until $x = 1

.exeとしてコンパイルしてください


同様に、AutoHotkeyでも、以下のようになります

#NoTrayIcon ; To prevent momentary icon pop-up
run whatever.bat arg1 arg2,,hide

7  Adrian Yeoh  2013-05-29


Hidden Start(20ドル)を使用します

隠しスタート – コンソールウィンドウやUACプロンプトなしでアプリケーションとバッチファイルを実行します

コンソールアプリケーションやバッチファイルは、Windowsの起動時やスケジュールで定期的に実行されます。この場合の主な不便さは、各アプリケーションが画面上でちらつくコンソールウィンドウを開くことです。Hidden Start(またはHstart)は軽量なコマンドラインユーティリティで、コンソールアプリケーションやバッチファイルをバックグラウンドでウィンドウなしで実行したり、Windows 7やVistaでUAC特権の昇格を処理したり、複数のコマンドを並列または同期して起動したりと、さまざまなことが可能になります

enter image description here

6  Kyle A  2010-05-12


タイトルとURLをコピーしました