我正在检查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
返回的计数。
答案 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
)的文档。