来自Scratch的自定义批处理文件

时间:2017-11-24 16:11:12

标签: windows batch-file

我的任务是创建一个批处理文件,该文件将执行以下操作:

1)启动Windows防火墙服务 2)将条目添加到Windows防火墙中以阻止对某些网络位置的网络访问 3)删除映射的网络驱动器

我有以下命令行脚本,它们分别执行这些任务。但是,我不知道如何将所有这些文件放入一个批处理文件中,这个文件将一个接一个地执行。

net stop <Service-Name>

netsh advfirewall firewall add rule name="IP Block" dir=in interface=any action=block remoteip=<IP_Address>/32

net use x: /delete

有人可以指导我如何将这些命令放入批处理文件中,该文件只会在我运行时执行。

感谢。

1 个答案:

答案 0 :(得分:0)

只需将命令放入文件扩展名为.bat的文本文件中。

每个命令都有自己的行。

以下是带有命令行参数的文件示例。 %1%2%n分别表示命令行参数的位置。 例如。 %1是第一个参数,%2是第二个参数,依此类推。

net stop %1
netsh advfirewall firewall add rule name="IP Block" dir=in interface=any action=block remoteip=%2/32
net use x: /delete

您可以使用命令行参数执行批处理文件:

ScriptName.bat ServiceName 123.123.123.123

它将执行如下:

net stop ServiceName
netsh advfirewall firewall add rule name="IP Block" dir=in interface=any action=block remoteip=123.123.123.123/32
net use x: /delete

硬编码示例:

ScriptName.bat

net stop wuauserv
netsh advfirewall firewall add rule name="IP Block" dir=in interface=any action=block remoteip=192.168.0.1/32
net use x: /delete

要执行它,只需调用文件名:

ScriptName.bat

干杯!