2017-09-26 242 views
0

我有一個Windows批處理文件,我想作爲服務執行。我找到了像alwaysRun這樣的應用程序,但我想使用Windows內置應用程序來達到此目的。任何人都可以請建議。作爲Windows服務執行bat文件

我的使用案例是: - 我有一個批處理文件,每10秒後執行一次。所以我創建了一個正常的批處理文件,它調用這個bat文件並睡10秒。所以我想把這個第二個bat文件作爲一個服務。所以它被調用一次,當Windows重新啓動。

該文件應該作爲服務調用。

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

請建議。

+0

這是不可能的。 – KonstantinL

+1

@KonstantinL不,它根本不是不可能的,但它是愚蠢的想法。 –

回答

2

我不會這樣做,它是無用的。您可以從計劃任務運行第一批文件。

OR,如果你想在啓動時運行它

舉個例子,在Windows 8

創建一個VBS文件,將完全隱藏您的批處理文件。

hideme.vbs

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

然後打開開始/運行,鍵入shell.startup,然後按回車。在此處粘貼VBS文件的快捷方式。

這會讓VBS文件在每次PC啓動時以隱藏模式調用第二批處理文件。

編輯 爲了殺死它,你需要建立一個可以運行發現,在後臺運行cmd.exe的另一個批處理文件。

在原來的批處理文件,創建後@echo在最開始部分的標題關閉

@echo off 
title LOOP 
:begin 
CALL dummyfile.bat 
timeout /t 1 
goto begin 
在新的批處理文件

現在,讓我們把它叫做killLOOP.cmd你補充一點:

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

這將搜索窗口標題LOOP的進程,然後殺死它。當你想關閉它時運行它。 現在在你的

+0

在計劃任務設置中,腳本無法在每1分鐘前運行。所以我無法嘗試,因爲我需要每10秒運行一次。 –

+0

@IftekharKhan然後使用我在答案中提到的方法。 –

+0

Set MyScript = CreateObject(「WScript.Shell」) MyScript.Run「C:\ Users \ Documents \ Python Scripts \ Data_Extractor_Service.bat」,0,False –