2011-12-01 134 views
1

好吧,我创建了一个小剧本叫“净文件”,输出泵到一个文件中。在文件名中没有空格,当我以交互方式运行它时,一切似乎都没问题。于是我运行以下命令,我没有得到任何结果,并没有错误: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,所以它不是我以前用过的东西。

任何帮助,将不胜感激!提前致谢!

+0

对不起,我不明白:什么事?没有输出? –

回答

2

你需要一个壳(即%COMSPEC%),以获得外壳的功能,比如重定向; persisten窗口就是你所要求的:/ k让shell保持打开状态(尝试/ c)而你应该使用.Run方法的第二个和第三个参数来获得一个隐藏的窗口(并且可能等待之前的过程你zap的owShell)。

0

看一看Run。更改

owshell.run "%comspec% /k net file > C:\openfiles.txt" 

owshell.run "%comspec% /c net file > C:\openfiles.txt", 0, FALSE 

这将隐藏cmd并进行与脚本的其余部分...如果你想等待命令完成,改变FALSETRUE

也请记住,有些机器是好笑,让你直接写文件到C:\。可能创建一个测试文件夹并写入那里!