所以我写了下面的vbscript来读取命令行输出的文件。该文件的内容只是(COMx),x是相关设备的端口号。该脚本应该读取该文件并拔出' x'并将其保存到新的文本文件。我大约两周前写了这篇文章并对其进行了测试,但它确实有效。现在看来,无论我做什么,我都无法完成工作。这与两周前的IT工作一样令人费解。现在它只是创建一个没有任何内容的输出文件。我不知道我是不是意外地改变了什么或什么,但任何帮助都会受到赞赏。
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\rtlstuff\COM.txt", ForReading)
strContents = objFile.ReadAll
objFile.Close
Set regex = New RegExp
With regex
.Pattern = ".*\(COM(.+)?\).*"
End With
Dim ComPort
If regex.Test(strContents) Then
ComPort = regex.Replace(strContents,"$1")
End If
Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="c:\rtlstuff\ComPort.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write ComPort
objFile.Close
答案 0 :(得分:0)
正则表达式似乎有点矫枉过正。如果您知道该行只包含" COMx",为什么不使用这些方法之一?
' Option 1: Start at the 4th char...
strContents = Mid(objFile.ReadLine, 4)
' Option 2: Remove "COM" from the line...
strContents = Replace(objFile.ReadLine, "COM", "")