Rdp 如何使用VB读取和更改命令脚本中的行?

Rdp 如何使用VB读取和更改命令脚本中的行?,rdp,Rdp,简短版本:我知道这不是一个简单的方法,但如何用VB更改命令文件中的行 长:在登录脚本中工作,该脚本将(最终)根据特定用户的用户名(即:user@blahdeblah.com去 完整地址:s:blahdeblah.blahdeblah.com等)。地址的第一部分包含多个服务器位置。我已经完成了简单的部分,即提取文件、捕获用户名以及它们应该去哪里,但是我缺乏关于如何填充文件的知识。我在这里看到过一些关于阅读课文,然后改变在专栏中出现的单词的帖子,但是同样的练习会在行中起作用吗 如果RDP中的总文本文

简短版本:我知道这不是一个简单的方法,但如何用VB更改命令文件中的行

长:在登录脚本中工作,该脚本将(最终)根据特定用户的用户名(即:user@blahdeblah.com去 完整地址:s:blahdeblah.blahdeblah.com等)。地址的第一部分包含多个服务器位置。我已经完成了简单的部分,即提取文件、捕获用户名以及它们应该去哪里,但是我缺乏关于如何填充文件的知识。我在这里看到过一些关于阅读课文,然后改变在专栏中出现的单词的帖子,但是同样的练习会在行中起作用吗

如果RDP中的总文本文件是47行,我可以说“将第45行替换为”

我知道读起来很痛苦


任何帮助都将不胜感激。

您几乎肯定会想做更多的事情,比如查找带有“完整地址”的行,然后替换为另一行,行号是一件非常容易损坏的事情。我不是一个可以轻松测试整个东西的地方,但你需要这样的东西:

Dim oFSO
Dim inTS,OutTS
Dim tline
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set inTS = oFSO.OpenTextFile("default.rdp",1,1)
Set outTS = oFSO.CreateTextFile("mynew.rdp", true,true)
While inTS.AtEndOfStream = false 
tline = inTS.ReadLine
If InStr(1,tline,"full address:",1) > 0 Then 
WScript.Echo("found " &InStr(tline,"full address:"))
outTs.WriteLine("full address:s:SERVER")
Else
outTs.WriteLine(tline)
End If
Wend       
inTS.Close
outTS.Close
虽然使用unicode可能会遇到一些问题,但运行gnuwin32的sed版本可能会更幸运