Board logo

标题: [问题求助] VBS如何在txt文本每一行末尾添加指定字符串 [打印本页]

作者: hnldwhm52    时间: 2015-1-15 11:34     标题: VBS如何在txt文本每一行末尾添加指定字符串

本帖最后由 pcl_test 于 2016-9-13 20:12 编辑

请教老师?
    将e:\as\1.txt内容, 实现e:\as\2.txt内容功能的vbs代码。

1.txt
122.107.154.173:19100
165.228.123.172:31749
99.252.60.163:26128
178.63.78.5:2932
95.62.132.34:32861

2.txt
122.107.154.173:19100@SOCKS4
165.228.123.172:31749@SOCKS4
99.252.60.163:26128@SOCKS4
178.63.78.5:2932@SOCKS4
95.62.132.34:32861@SOCKS4

        谢谢老师!!!!

作者: czjt1234    时间: 2015-1-16 09:05

批处理
  1. @echo off
  2. (for /f %%i in (1.txt) do echo %%i@SOCKS4)>2.txt
复制代码

作者: hnldwhm52    时间: 2015-1-16 09:25

批处理
czjt1234 发表于 2015-1-16 09:05

谢谢czjt1234老师旳解答!我需要旳是VBS代码,能给出VBS代码就更好!!
作者: CrLf    时间: 2015-1-17 00:27

来个简单但不严谨的
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. text = fso.OpenTextFile("1.txt",1).ReadAll()
  3. text = Replace(text,vbCrLf,"@SOCKS4"&vbCrLf)
  4. text = Replace(text,vbCrLf&"@SOCKS4",vbCrLf)
  5. fso.CreateTextFile("2.txt",True).Write(text)
复制代码
再来个稍微严谨点的
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. text = fso.OpenTextFile("1.txt",1).ReadAll()
  3. arr = Split(text,vbCrLf)
  4. For i=0 To UBound(arr)
  5.    If Len(arr(i)) Then arr(i)=arr(i)&"@SOCKS4"
  6. Next
  7. text = Join(arr,vbCrLf)
  8. fso.CreateTextFile("2.txt",True).Write(text)
复制代码
其实还是用正则比较好,但 vbs 的正则懒得写
作者: hnldwhm52    时间: 2015-1-17 09:48

本帖最后由 hnldwhm52 于 2015-1-17 12:09 编辑

回复 4# CrLf


     谢谢老师CrLf旳细心解答!
作者: Demon    时间: 2015-1-17 10:01

连别人名字打打错。
作者: hnldwhm52    时间: 2015-1-17 12:12

回复 6# Demon

谢谢您旳指正!!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2