2015-05-14 6 views
0

Я проверяю количество файлов, которые у меня есть в каталоге Unix, и я пытаюсь получить это число в переменной VBScript.Как получить ответ команды Plink в переменной vbscript?

Мой код:

set oShell = CreateObject("WScript.Shell") 
oShell.Run "C:\PLINK.EXE -ssh [email protected] -pw abc find /my/files -name '*333*' | wc -l > C:\files\res.txt" 
set oShell = Nothing 

Приведенный выше код не писать в файле .txt. Я думал, что буду читать файл .txt с помощью vbscript и получить счетчик.

Есть ли прямой способ получить счет, возвращенный с wc -l в переменной vbscript.

спасибо.

ответ

2

Вам нужна оболочка (% comspec%), чтобы получить функции оболочки, такие как перенаправление (см. here). Меняем

oShell.Run "C:\PLINK.EXE -ssh [email protected] -pw abc find /my/files -name '*333*' | wc -l > C:\files\res.txt" 

в

oShell.Run "%comspec% /c C:\PLINK.EXE -ssh [email protected] -pw abc find /my/files -name '*333*' | wc -l > C:\files\res.txt" 

после вы проверили, что

C:\PLINK.EXE -ssh [email protected] -pw abc find /my/files -name '*333*' | wc -l > C:\files\res.txt 

'работает' с консоли.

В случае исследования Мутной документы для .Run (параметров, возвращаемое значение) и .Exec (STDOUT/STDERR захвата) и не упрощает (например не | wc -l).