2010-07-11 2 views
2

Я пытаюсь выкинуть команду plink на мой сервер esx и grep вывод linux команды. Приведенный выше код не работает. Но если я удалю | grep part работает снова. Есть ли другой способ добиться тех же результатов, но сделать команду passable с 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

Смежные вопросы