将bat文件作为windows服务执行

Sun*_*nny 1 windows cmd batch-file

我有一个 Windows 批处理文件,我想将其作为服务执行。我找到了像 alwaysRun 这样的应用程序,但我想为此使用 Windows 内置应用程序。任何人都可以请建议。

我的用例是: - 我有一个批处理文件,它将在每 10 秒后执行一次。所以我创建了一个普通的批处理文件,它调用这个 bat 文件并休眠 10 秒。所以我想将第二个 bat 文件作为服务。以便在 Windows 重新启动时调用一次。

这个文件应该被称为服务。

@echo off
:begin
CALL dummyfile.bat
timeout /t 1
goto begin
Run Code Online (Sandbox Code Playgroud)

请建议。

Ger*_*ard 5

我不会那样做,这是没用的。您可以从计划任务运行第一个批处理文件。

或者

如果你想在启动时运行它。

例如,在 Windows 8 上

创建一个将完全隐藏您的批处理文件的 VBS 文件。

隐藏文件

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

然后打开开始/运行并键入shell.startup并按回车键。在此处粘贴 VBS 文件的快捷方式。

这将使 VBS 文件在每次 PC 启动时以隐藏模式调用第二个批处理文件。

编辑 为了杀死它,您需要创建另一个批处理文件,您可以运行该文件以查找在后台运行的 cmd.exe。

在您的原始批处理文件中,在@echo off 之后的最开始创建一个标题

@echo off
title LOOP
:begin
CALL dummyfile.bat
timeout /t 1
goto begin
Run Code Online (Sandbox Code Playgroud)

现在在你的新批处理文件中,让我们称之为killLOOP.cmd你添加这个:

taskkill /F /FI "WindowTitle eq  LOOP" /T
Run Code Online (Sandbox Code Playgroud)

这将搜索窗口标题为 LOOP 的进程,然后将其杀死。当你想关闭它时,只需运行它。现在在你