2010-07-11 139 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