windows 在 VBScript 中获取命令行输出(不写入文件)
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/5393345/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Getting command line output in VBScript (without writing to files)
提问by 213897
I'm using VBScript, and my goal is to be able to substitute a drive letter for a path of my choosing. I need the D drive, and if it's not available I need to check if it's already mapped to the right spot; then notify the user if it's not. I found this: http://technet.microsoft.com/en-us/library/ee156605.aspxand I'm trying to adapt their second example:
我正在使用 VBScript,我的目标是能够用驱动器号替换我选择的路径。我需要 D 盘,如果它不可用,我需要检查它是否已经映射到正确的位置;如果不是,则通知用户。我发现了这个:http: //technet.microsoft.com/en-us/library/ee156605.aspx,我正在尝试调整他们的第二个例子:
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExecObject = objShell.Exec("cmd /c ping -n 3 -w 1000 157.59.0.1")
Do While Not objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadLine()
If Instr(strText, "Reply") > 0 Then
Wscript.Echo "Reply received."
Exit Do
End If
Loop
(my adaptations):
(我的改编):
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExecObject = objShell.Exec("cmd /c substr")
strText = ""
Do While Not objExecObject.StdOut.AtEndOfStream
strText = strText & objExecObject.StdOut.ReadLine()
Loop
Wscript.Echo strText
Then I'll probably search for the string that tells where the D drive is mapped. I've also tried objShell.Exec("subst")
, but I still don't get any output. Does anyone have any ideas on what I might be doing wrong? Or is there a better way to tell about drive mappings? Thanks,
然后我可能会搜索指示 D 驱动器映射位置的字符串。我也试过objShell.Exec("subst")
,但我仍然没有得到任何输出。有没有人对我可能做错的事情有任何想法?或者有没有更好的方法来说明驱动器映射?谢谢,
213897
213897
采纳答案by Helen
Your script doesn't work because you've mistyped the command name - it's subst
, not substr
.
您的脚本不起作用,因为您输入了错误的命令名称 - 它是subst
,而不是substr
。