如何通过 autoit 执行 Windows 命令?

use*_*908 5 services autoit cmd.exe

这是关于 sc.exe

我想在 Windows 中将我的程序作为服务运行。我可以使用命令提示符来完成

我的程序放在system32文件夹中,所以首先我去system32然后我使用这些命令

c:\windows\system32>sc create demo binpath= "pg.exe" type= own start= auto DisplayName= "autostart"
c:\windows\system32>sc config demo binpath= "cmd.exe /c c:\windows\system32>pg.exe" type= own start= auto DisplayName= "autostart"
Run Code Online (Sandbox Code Playgroud)

执行这些命令后,当我重新启动 PC 时,我的程序开始作为服务运行,这很好。

现在,我想制作一个自动脚本来执行这些命令,但无法理解我是如何做到的。

我试过这个

#include <RunCMD.au3>
$cmd = "sc create demo1 binpath= c:\pg.exe type= own start= auto"
_RunCMD($cmd)
$cmd = "sc config demo1 binpath= "cmd.exe /c c:\pg.exe" type= own start= auto"
_RunCMD($cmd)
Run Code Online (Sandbox Code Playgroud)

第一个命令成功执行,但第二个命令没有。

小智 0

CMD 命令最好从 Windows 批处理文件执行,如果您将批处理文件设置为在启动时使用批处理文件中的命令运行,它应该可以正常工作。

  • 如果您运行的 Windows 7 在开始菜单中有一个名为“start up”的文件夹,请将包含命令的批处理文件拖到此文件夹中,然后当 Windows 启动时,它也会执行命令。
  • 如果您运行的是 Windows 8 或 8.1,文件路径为:C:\Users(您的用户)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

一旦批处理文件位于启动文件夹中,它就会运行执行您的命令。

批处理文件的格式:

@echo off
(your command)
(your command)
exit
Run Code Online (Sandbox Code Playgroud)

祝你好运,如果这不起作用,请尝试使用启动文件夹。