2010-07-11 5 views
2

plink 명령을 내 esx 서버에 보내고 grep 명령의 Linux 출력을 grep하려고합니다. 위의 코드는 작동하지 않습니다. 하지만 내가 | grep part 다시 작동합니다. 동일한 결과를 얻을 수있는 다른 방법이 있지만 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

다만, 문제가 | 대신에 인수 문자열의 일부로 전달되는 cmd.exe를에 의해 해석되고있는 것 같다 (순간으로 테스트 할 plink.exe없이) 그것을보고 plink.exe. 그 추측이 맞다면

, 그것은 쉬운 수정의 : %%A | grep%%A ^| grep이되도록 단지, 그것의 앞에 ^으로 바꾸어 | 탈출.

+0

와우 이것은 잠시 전에 게시되었습니다. 나는 이것을 거의 잊었습니다. 나는 perl로 옮겼다. 배치는 단지 그것을 가지고 있지 않았다. 아직 입력 해 주셔서 감사합니다. – ianc1215

관련 문제