在Windows批处理中运行Plink - 问题

时间:2015-11-11 05:55:57

标签: windows batch-file command-prompt putty plink

我正在使用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,以确保服务器是否可信,作为脚本的一部分。任何帮助将不胜感激。

1 个答案:

答案 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%