2017-09-26 31 views
0

私はサービスとして実行したいwindowsバッチファイルを持っています。私はalwaysRunのようなアプリを見つけましたが、私はこの目的のためにアプリケーションをビルドするウィンドウを使いたいと思います。誰でもお勧めしますか?Windowsサービスとしてbatファイルを実行

私の使用例は次のとおりです。 - 10秒ごとに実行されるバッチファイルがあります。だから私はこのバットファイルを呼び出して、10秒間スリープする通常のバッチファイルを作成しました。だから、私はこの2番目のバットファイルをサービスとして作りたいと思っています。これは一度呼び出され、ウィンドウが再起動されるときに発生します。

このファイルはサービスとして呼び出す必要があります。

@echo off 
:begin 
CALL dummyfile.bat 
timeout /t 1 
goto begin 

お勧めします。

+0

これは不可能です。 – KonstantinL

+1

@ ConstantinLいいえ、それはまったく不可能ではありませんが、それは愚かな考えです。 –

答えて

2

私はそれをしません、それは役に立たないです。スケジュールされたタスクから最初のバッチファイルを実行できます。

OR

あなたは、起動時にそれを実行したい場合。一例として、

、Windows 8の

に完全にあなたのバッチファイルを非表示になりますVBSファイルを作成します。

hideme.vbs

Set MyScript = CreateObject("WScript.Shell") 
MyScript.Run "C:\wherever\script\is\batch.cmd", 0, False 

その後、オープンスタート/ファイル名を指定して実行し、shell.startupと入力し、Enterキーを押します。ここにVBSファイルのショートカットを貼り付けます。

これは、PCが起動するたびに、VBSファイルが隠しモードで2番目のバッチファイルを呼び出せるようにします。

EDIT これを強制終了するには、実行可能な別のバッチファイルを作成して、バックグラウンドで実行されているcmd.exeを見つける必要があります。あなたのオリジナルのバッチファイルで

、のはkillLOOP.cmdあなたがこれを追加し、それを呼びましょう、@echoオフ

新しいバッチファイルで今
@echo off 
title LOOP 
:begin 
CALL dummyfile.bat 
timeout /t 1 
goto begin 

後一番最初にタイトルを作成します。

taskkill /F /FI "WindowTitle eq LOOP" /T 

このウィンドウタイトルLOOPのプロセスを検索し、それを終了します。あなたがそれを閉じたいときに実行してください。 今すぐあなたの

+0

スケジュールされたタスクの設定では、スクリプトを1分ごとに実行することはできません.10秒ごとに実行する必要があるため、試すことはできません。 –

+0

@IftekharKhanその後、私が答えで述べた方法を使用してください。 –

+0

MyScript = CreateObject( "WScript.Shell") MyScript.Run "C:¥Users¥Documents¥Python Scripts¥Data_Extractor_Service.bat"、0、False –

関連する問題