2010-05-11 17:31:57 +0000 2010-05-11 17:31:57 +0000
134
134

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

Windows XPで、ショートカット経由でバッチファイル(.batや.cmd)を「黒いウィンドウ」なしで実行することはできますか?

回答 (9)

88
88
88
2010-05-11 19:55:49 +0000

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

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

45
45
45
2012-02-15 09:52:03 +0000

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

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

これはコマンドウィンドウを表示せずにバッチファイルを実行します。

21
21
21
2014-01-10 17:50:44 +0000

ちょうど “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の "外部ツール "など)を理解していないどこかからこれを実行するために探している場合は、その最初のパラメータとしてvbsファイルを使用してC:\Windows\System32\wscript.exeを呼び出すことをお勧めしますし、2番目のようにバッチファイルを。

9
9
9
2010-05-11 19:50:45 +0000

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

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

9
9
9
2010-05-11 17:36:13 +0000

スタート ](http://ss64.com/nt/start.html) に ‘/B’ オプションを付けて使用します。例:

@echo off
start /B go.bat
6
6
6
2012-10-22 21:17:19 +0000

Free GPL オープンソース “Create Hidden Process” http://www.commandline.co.uk/chp/

Microsoft Security Essentials、そしておそらく他のほとんどのウイルス/マルウェアスキャナは、実行ファイルであるchp.exeをウイルスとして扱いますが、これはウイルスと同じように、指定したプログラムをウィンドウやタスクバーのボタンの表示から隠してしまうからです。例えばタスクマネージャなどに表示される対象のプロセスを非表示にするわけでもありません。そしてもちろんソースコードも含まれていますので、非常に小さく、与えられたプログラムを実行するだけで何もしないことがわかります。

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


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

6
6
6
2013-05-29 03:48:54 +0000

AutoIt ](http://en.wikipedia.org/wiki/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 としてコンパイルしてください。

6
6
6
2014-10-27 08:23:11 +0000

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

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

頑張ってください。

5
5
5
2010-05-12 16:03:41 +0000

Use Hidden Start (cost costs $20)

Hidden Start - Run Applications and Batch Files without the Console Window or UAC Prompt

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

関連する質問

3
19
10
28
6