【发布时间】:2015-11-11 05:55:56
【问题描述】:
我正在使用 Windows 批处理操作编写一个非常基本的自动化脚本,其中将遍历 IP 地址列表并运行 plink 命令以登录并保持服务器上的帐户活动,因为它最近登录到服务器。
我相信我的大部分功能都可以正常工作,但是我在传递密码时遇到了问题。我看到一个问题,如果我的密码有特殊字符并且我通过命令提示符运行脚本,它不会通过特殊字符传递给 plink 命令。这是脚本的外观:
@echo on
SET userid=root
SET passwd=Welcome1%
for /f "delims=" %%i in ('type "ipaddress.txt" ') do (
pushd "C:\Program Files (x86)\PuTTY"
plink.exe -pw %passwd% %userid%@%%i hostname
popd
)
ipaddress.txt 文件包含:
10.0.0.1
10.0.0.2
10.0.0.3
这个想法是遍历每个 IP 地址的列表,登录并验证访问。我还希望确保传递值 Y 或 N 以确保服务器受信任或不作为脚本的一部分。任何帮助将不胜感激。
【问题讨论】:
-
那个“特殊字符”是什么?
-
百分号必须加倍。
set "passwd=Welcome*%%"
标签: windows batch-file command-prompt putty plink