【发布时间】:2023-03-24 14:00:02
【问题描述】:
我正在努力寻找一种方法来提高我的脚本的可靠性。它已经可以使用,但可以在导入的文本文件中使用一个简单的额外空间将其丢弃。
因此,如果我能找到一种方法来执行以下操作,我想将我的脚本更改为 Readline:
.txt 文件中的文本示例:
FLIGHTS OVER TUSKY PLEASE FILE:
AT OR WEST OF A LINE RBV..LLUND..BAYYS..PUT..DIRECT
FLIGHTS OVER EBONY PLEASE FILE:
AT OR WEST OF A LINE RBV..LLUND..BAYYS..PUT..DIRECT
我知道以下内容不起作用,但如果有一个简单的修改,那就太好了。
set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("C:\Downloads\software\putty.exe -load "testing")
set objFSO = CreateObject("Scripting.FileSystemObject")
set objFile = objFSO.OpenTextFile("C:\Users\AW\Desktop\Entries1.txt")
strLine = objFile.ReadAll
If InStr(strLine1, "OVER TUSKY PLEASE") and InStr(strLine2, "BAYYS..PUT..DIRECT") Then
trans307="TUSKY"
ind306="4"
我现在使用的是什么: 我在记事本++中编辑文本文件,用“”查找和替换“\n”,用“”替换“\r”,然后它都是一个文本字符串,我在该字符串中搜索字符串。
If InStr(strLine, "FLIGHTS OVER TUSKY PLEASE FILE: AT OR WEST OF A LINE ..RBV..LLUND..BAYYS..PUT..DIRECT") _
or InStr(strLine, "FLIGHTS OVER TUSKY PLEASE FILE: AT OR WEST OF A LINE RBV..LLUND..BAYYS..PUT...DIRECT") Then
trans308C="TUSKY"
ind308C="4"
问题:如果文本文件的创建者在“AT OR WEST OF A LINE RBV..LLUND..BAYYS..PUT..DIRECT”这一行的任意位置放置另一个空格“”,则脚本将无法识别该字符串。在上面的例子中,我不得不创建另一个或 InStr(strLine, "") 带有额外空格或几个点的语句。
更新: 我会尝试类似:
set objFSO = CreateObject("Scripting.FileSystemObject")
set objFile = objFSO.OpenTextFile("C:\Users\AW\Desktop\Entries1.txt")
strLine1 = objFile.Readline(1)
strLine2 = objFile.Readline(2)
If InStr(strLine1, "FLIGHTS OVER TUSKY") and InStr(strLine2, "RBV..LLUND..BAYYS..PUT..DIRECT") Then
trans1="TUSKY"
ind1="4"
看看我能否让它一次读取 2 行,然后循环遍历文本文件。
【问题讨论】: