VBS运行命令没有输出
问题描述:
好吧,我创建了一个小剧本叫“净文件”,输出泵到一个文件中。在文件名中没有空格,当我以交互方式运行它时,一切似乎都没问题。于是我运行以下命令,我没有得到任何结果,并没有错误:VBS运行命令没有输出
set oWShell = CreateObject("WScript.Shell")
owshell.run "net file > C:\openfiles.txt"
Set owShell = nothing
现在,如果修改此稍稍表现出执行相同的命令(并保持我的命令窗口已打开),它的工作原理就像预期(除了它不断我不能拥有的cmd窗口)
set oWShell = CreateObject("WScript.Shell")
owshell.run "%comspec% /k net file > C:\openfiles.txt"
Set owShell = nothing
这一定是明显的,我只是想念。我只在蓝色的月亮里碰过一次vbs,所以它不是我以前用过的东西。
任何帮助,将不胜感激!提前致谢!
答
你需要一个壳(即%COMSPEC%),以获得外壳的功能,比如重定向; persisten窗口就是你所要求的:/ k让shell保持打开状态(尝试/ c)而你应该使用.Run方法的第二个和第三个参数来获得一个隐藏的窗口(并且可能等待之前的过程你zap的owShell)。
答
看一看Run。更改
owshell.run "%comspec% /k net file > C:\openfiles.txt"
到
owshell.run "%comspec% /c net file > C:\openfiles.txt", 0, FALSE
这将隐藏cmd并进行与脚本的其余部分...如果你想等待命令完成,改变FALSE
到TRUE
。
也请记住,有些机器是好笑,让你直接写文件到C:\。可能创建一个测试文件夹并写入那里!
对不起,我不明白:什么事?没有输出? –