如何在vbscript变量中获取Plink命令响应?

时间:2015-05-14 12:31:46

标签: unix vbscript plink

我正在检查Unix目录中的文件数量,并且我试图在VBScript变量中获取该数字。

我的代码:

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

上面的代码没有在.txt文件中写入。我以为我会使用vbscript读取.txt文件并获取计数。

是否可以直接从vbscript变量中获取从wc -l返回的计数。

谢谢。

1 个答案:

答案 0 :(得分:2)

您需要一个shell(%comspec%)来获取重定向等shell功能(参见here)。所以改变

oShell.Run "C:\PLINK.EXE -ssh user@host -pw abc find /my/files -name '*333*' | wc -l > C:\files\res.txt"

oShell.Run "%comspec% /c C:\PLINK.EXE -ssh user@host -pw abc find /my/files -name '*333*' | wc -l > C:\files\res.txt"
之后>你已经检查了

C:\PLINK.EXE -ssh user@host -pw abc find /my/files -name '*333*' | wc -l > C:\files\res.txt

'工作'从控制台。

如果遇到问题需要研究.Run(参数,返回值)和.Exec(Stdout / Stderr捕获)和简化(例如没有| wc -l)的文档。