2010-07-11 117 views
2

我正在尝试向我的esx服务器抛出plink命令,并且grep命令的linux输出。上面的代码不起作用。但是,如果我删除| grep部分它再次运作。有没有其他的方法来达到相同的结果,但使用cmd.exe命令可以通过?Plink命令对cmd.exe无效

FOR /F "TOKENS=1 DELIMS=:" %%A IN ('TYPE %SYSTEMDRIVE%\Users\Ian\Desktop\backup.list') DO ECHO %%A & (FOR /F "TOKENS=2*" %%B IN ('%PLINK% -batch -ssh %USERNAME%@%ESXHOST% -pw %PASSWORD% vim-cmd vmsvc/get.datastores %%A | grep datastore') DO ECHO %%B) 

回答

1

只是看着它(不plink.exe目前与测试),这个问题似乎是在|是由cmd.exe的解释,而不是作为参数字符串的一部分传递plink.exe。

如果猜测是正确的,这是一个简单的办法:只放一个^在它的前面逃跑的|,使%%A | grep变得%%A ^| grep

+0

哇这是前一段时间发布,我差点忘了这一点。我转向perl,批量只是没有它。仍然感谢您的意见。 – ianc1215 2011-03-31 04:48:24