我有一个Windows批处理文件,我想将其作为服务执行。我找到了像alwaysRun这样的应用程序,但我想为此目的使用windows in-build应用程序。任何人都可以建议。
我的用例是: - 我有一个批处理文件,每隔10秒就会执行一次。所以我创建了一个普通的批处理文件,它调用这个bat文件并休眠10秒。所以我想把这个第二个bat文件作为服务。所以它被调用一次,当窗口重新启动时。
此文件应作为服务调用。
@echo off
:begin
CALL dummyfile.bat
timeout /t 1
goto begin
请建议。
答案 0 :(得分:4)
我不会那样做,这是没用的。您可以从计划任务运行第一个批处理文件。
或强>
如果你想在启动时运行它。
例如,在Windows 8上
创建一个完全隐藏批处理文件的VBS文件。
<强> hideme.vbs 强>
"ID", "Age", "Rich", "timestamp"
1, "50", "Y", "2017-06-06 14:19:21.77"
2, "22", "N", "2017-06-06 14:19:21.77"
然后打开“开始/运行”并输入Set MyScript = CreateObject("WScript.Shell")
MyScript.Run "C:\wherever\script\is\batch.cmd", 0, False
并按Enter键。在此处粘贴VBS文件的快捷方式。
每次PC启动时,这将让VBS文件以隐藏模式调用第二个批处理文件。
修改强> 为了杀死它,您需要创建另一个批处理文件,您可以运行该文件以查找在后台运行的cmd.exe。
在原始批处理文件中,在@echo off
之后的最开始创建标题shell.startup
现在在你的新批处理文件中,我们称之为@echo off
title LOOP
:begin
CALL dummyfile.bat
timeout /t 1
goto begin
你添加它:
killLOOP.cmd
这将搜索窗口标题为LOOP的进程,然后将其终止。只需要关闭它就可以运行它。 现在在你的
答案 1 :(得分:1)
在Windows 2012 Server上
sc create myservice binPath=C:\some\path\to\myservice.bat
并删除:
sc delete myservice
答案 2 :(得分:0)
您是否曾经看过本地Windows程序sc.exe?它允许您将程序作为服务运行。
以下是一些Microsoft文档:https://support.microsoft.com/en-us/help/251192/how-to-create-a-windows-service-by-using-sc-exe
sc [服务器名]命令服务名[Optionname = Optionvalue ...]
尤其是,您可以使用Create
命令来创建新服务:
创建 创建服务(将其添加到注册表)。
最简单的语法如下:
sc Create myservice binPath=C:\some\path\to\myservice.bat