Batch file 从列表中禁用/卸载/管理服务(批处理)

Batch file 从列表中禁用/卸载/管理服务(批处理),batch-file,Batch File,从一开始我的措辞就有点不好。我想做的是列出服务名称,例如Fax或hns等等,然后运行一个脚本来运行该列表,并使用尽可能少的代码行禁用所有这些名称 我想使用的示例 hns 传真 ftpsvc SNMP 然后运行一个使用这些行的脚本,并将其设置为禁用该列表中的所有行 我的想法是,它将第一行设置为一个变量,然后运行一个命令来禁用它,然后转到下一行,禁用下一行,一直到列表结束为止 基本上这是一个问题,但问题是,有没有一种方法可以重复这个过程而不必每次都编写“set Service=\uuuuuuuuu

从一开始我的措辞就有点不好。我想做的是列出服务名称,例如Fax或hns等等,然后运行一个脚本来运行该列表,并使用尽可能少的代码行禁用所有这些名称

我想使用的示例
hns
传真
ftpsvc
SNMP

然后运行一个使用这些行的脚本,并将其设置为禁用该列表中的所有行

我的想法是,它将第一行设置为一个变量,然后运行一个命令来禁用它,然后转到下一行,禁用下一行,一直到列表结束为止

基本上这是一个问题,但问题是,有没有一种方法可以重复这个过程而不必每次都编写“set Service=\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

set ServiceOff=sc stop %service% | sc delete %service%

set Service= Fax
%ServiceOff%
ser Service = Netlogon
%ServiceOff%

有什么想法吗?

您可以通过for循环实现,如下所示:

for /F %%I in (file.txt) do (
    sc stop "%%I" 
    sc delete "%%I"
)

其中file.txt是包含所需服务名称的文件。

服务名称可以有空格,因此需要将for变量括在引号中。