Board logo

标题: [问题求助] vbs判断文本中指定字符串是否存在,不存在则追加写入 [打印本页]

作者: yuanyannian    时间: 2014-10-22 07:34     标题: vbs判断文本中指定字符串是否存在,不存在则追加写入

本帖最后由 pcl_test 于 2016-7-27 20:44 编辑

感谢论坛中老师的无私帮助!!现有新问题求助:

比如文件夹 F:\aaa\bbb 中,如果存在文件 aaa.ini,
判断或查找 aaa.ini 中是否存在字符串(或行)“[abcd]”,如果不存在字符串(或行)“[abcd]”,就追加写入该字符串(或行),
判断或查找 aaa.ini 中是否存在字符串(或行)“abcd=xyz”,如果不存在字符串(或行)“abcd=xyz”,就追加写入该字符串(或行)。

如果不存在文件 aaa.ini,则创建该文件,并追加写入上述字符串(或行)。

要求:追加写入。

谢谢!!!
作者: pcl_test    时间: 2016-9-7 15:58

  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. inifile = "F:\aaa\bbb\aaa.ini"
  3. folder = left(inifile,InStrRev(inifile,"\"))
  4. If right(folder,1) <> "\" Then folder=folder&"\"
  5. arr = Split(folder, "\")
  6. subfolder = arr(0)
  7. For i = 1 To UBound(arr)-1
  8.     subfolder = subfolder & "\" & arr(i)
  9.     If Not fso.FolderExists(subfolder) Then fso.CreateFolder(subfolder)
  10. Next
  11. If Not fso.FileExists(inifile) Then
  12.     fso.CreateTextFile(inifile, 2).Write("[abcd]"&vbCrLf&"abcd=xyz")
  13. Else
  14.     Set f = fso.OpenTextFile(inifile, 1)
  15.     text = f.ReadAll()
  16.     f.Close()
  17.     If InStr(text,"[abcd]")< 1 Then
  18.         fso.OpenTextFile(inifile, 8).Write("[abcd]"&vbCrLf&"abcd=xyz")
  19.     End If
  20. End If
复制代码





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