我遇到了SSH,plink,find命令和.bat执行的奇怪问题。
我想检查所有远程机器上的setup.txt文件,通过putty / plink获取特定字符串。 (大约50-400个putty SSH会话,具体取决于我的环境)
@ECHO off
SETLOCAL EnableDelayedExpansion
(...)
SET searchPattern="1234567890"
SET fileToCheck="C:\foo\bar\setup.xml"
(...)
:SEARCH_PATTERN
plink -load !session! -l user -pw password find /c /i %searchPattern% %fileToCheck%>>result.txt
(...)
变量会话预先填充,并包含putty的ssh会话名称。块:然后为每个会话执行SEARCH_PATTERN。在(...)发生了更多的事情,它们运行得很好,但是find命令的执行不起作用。
如果我手动执行此操作,请打开putty,键入find / c / i“1234567890”“C:\ foo \ bar \ setup.xml”>> result.txt一切正常但只要我通过plink执行相同的命令.bat文件我得到FIND:错误的格式错误。我做了很多谷歌搜索,仍然没有让它工作,我当然不想手动执行400远程机器的cmd。
有人能帮我一下吗?提前致谢。
双引号在途中丢失了。
所以这在服务器上执行:
find /c /i 1234567890 C:\foo\bar\setup.xml
qazxsw poi需要模式周围的双引号。
似乎用反斜杠转义双引号有助于。
find