Windows XPでは、ショートカットを使って「黒いウィンドウ」なしでバッチ(.batまたは.cmd)ファイルを実行できますか?
"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/ja-jp/library/d5fk67ky.aspx
これはShajiの答えを単純化したものです。このような VBScript (.vbs)スクリプトを使用してバッチスクリプトを実行できます。
'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
これにより、コマンドウィンドウが表示されずにバッチファイルが実行されます。
"Use Windows Scripting"という答え(これは既に組み込まれているので私が一番だと思う)を拡張するために、単一のラッパースクリプトを使用し、 "実際の"バッチファイルの名前をパラメーターとして渡す方法を説明します。追加のパラメータがバッチファイルに渡されます。
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ファイルを最初のパラメータとしてC:\Windows\System32\wscript.exe
を呼び出し、 2番目としてあなたのバッチファイル。
ショートカットのプロパティを変更して最小化して実行することができます。
完全に見えない状態で実行するには、Windows Scriptingのようなものが必要です。
/ Bオプションを指定して start を使用します。例えば:
@echo off
start /B go.bat
あなたは 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
無料のGPLオープンソース「隠しプロセスの作成」
http://www.commandline.co.uk/chp/
Microsoft Security Essentialsや、おそらく他のほとんどのウイルス/マルウェアスキャナーは、実行可能ファイルchp.exeをウイルスとして扱います。ウイルスと同様に、指定したプログラムがウィンドウやタスクバーボタンの表示から隠されるためです。
ウイルスではありません。たとえば、ターゲットプロセスがタスクマネージャに表示されるのを隠しません。そしてもちろん、ソースコードも含まれているので、それは非常に小さく、あなたがそれを与えたプログラムなら何でも実行する以外に何もしないことがわかります。
含まれているchp.exeが本当にそのソースから構築されたものであることを信頼する必要はありません。あなたは先に進んで含まれているchp.exeを捨ててソースからあなた自身のものをコンパイルすることができます、そしてそうするために必要なすべてのツールは無料でダウンロード可能です。
.batファイルまたは.cmdファイルへのショートカットを作成して、ショートカット、[プロパティ]、[ショートカット]タブ、[実行:最小化]を右クリックすることもできます。スケジュールされたタスクでは、次に直接.bat/.cmdファイルの代わりにショートカットを使用します。これはウィンドウがポップアップするのを防ぎますが、タスクバーボタンはまだ表示されます。
隠しスタート を使う(20ドル)
隠しスタート - コンソールウィンドウやUACプロンプトなしでアプリケーションとバッチファイルを実行
コンソールアプリケーションとバッチファイルは、Windowsの起動時またはスケジュールに従って定期的に実行されます。これの主な不便は、各アプリケーションが画面上で点滅するコンソールウィンドウを開くことです。 Hidden Start(またはHstart)は、バックグラウンドでウィンドウを表示せずにコンソールアプリケーションとバッチファイルを実行し、Windows 7およびVistaでUAC特権の昇格を処理し、複数のコマンドを並列または同期で開始することを可能にする軽量のコマンドラインユーティリティです。 。
余分なプログラムを使用せずに簡単な解決策。
がんばろう!