我正在尝试使用vbscript从命令提示符运行以下命令,然后将结果捕获到文本文件中。
netstat -an -p tcp |找到/ c":80" > C:\用户\ Swarnabha \桌面\ test.txt的
我已经编写了以下代码,但它无法正常工作......请帮助我PLZ!
Dim filepath
filepath= "C:\Users\Swarnabha\Desktop\test.txt"
Dim connstr
Dim portno
portno = ":80"
connstr = "cmd netstat -an -p tcp | find /c "& portno &" > "& filepath
Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run connstr
Set oShell = Nothing
WScript.Quit
答案 0 :(得分:2)
我认为您需要做的是编辑connstr以包含/ c开关,该开关执行字符串指定的命令然后终止。您需要这样做,因为您指定了>引用Bill Stewart的重定向命令“是shell的一个特性”。
connstr = "cmd.exe /c netstat -an -p tcp | find /c "& chr(34) & portno & chr(34) & " > " & filepath
您还需要将您的端口号变量放在引号中。 34是双引号的ANSI代码。这样你的命令将如下所示
cmd.exe /c netstat -an -p tcp | find /c ":80" > "C:\Users\Swarnabha\Desktop\test.txt"
我会考虑将所有变量声明分组,因为它是一个很好的编码实践。您还应该引用filepath
,因为在某些时候也可能包含空格。