我正在使用Windows批处理操作组合一个非常基本的自动化脚本,其中将遍历IP地址列表并运行plink命令以登录并保持服务器上的帐户,因为它最近已登录到服务器
我相信我的大部分功能都在运行,但是我遇到了传递密码的问题。我遇到一个问题,如果我的密码有特殊字符,并且我通过命令提示符运行脚本,它不会通过特殊字符传递给plink命令。以下是该脚本的外观:
10.0.0.1
10.0.0.2
10.0.0.3
ipaddress.txt文件包含:
#left_box {
width:390px;
}
#thumbnails li {
width: 33.33%;
float: left;
}
img {
max-width: 100%;
}
我们的想法是浏览每个IP地址列表,登录并验证访问权限。我还希望确保传递值Y或N,以确保服务器是否可信,作为脚本的一部分。任何帮助将不胜感激。
答案 0 :(得分:2)
您可以使用@echo on
查看脚本行为(在cmd
窗口内运行,而不是双击)。你是对的some special characters need to be escaped。如果您的密码字面上应为Welcome1%
,请使用
SET passwd=Welcome1%%
或高级set
命令语法
SET "passwd=Welcome1%%"
修改即可。以上建议特别涵盖字符串中的%
百分号。但是,使用特殊含义(例如redirectors <
,>
,|
,&
等)转义某些字符为{ {1}},^<
,^>
,^|
似乎有点不方便,也不够。因此,需要高级^&
命令语法和 delayed expansion enabled。
例如,set
字符串可以按如下方式使用:
Wel<come>1%