2017-09-26 186 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 –