批量修改多个文件内容的脚本


批量修改多个文件内容的脚本
2010年07月30日
  如果你是需要修改所有文件的内容,则将*.txt直接替换为*即可。
  把保存后的bat或vbs文件放在需要执行的目录的根目录下,执行后将替换掉当前目录及其子目录下文件的所有需要替换的内容。
  以下为批处理代码,保存为bat文件,双击执行,使用前备份文件。
  @echo off
  for /f "delims=" %%i in ('dir /s/b *.txt') do (
  for /f "delims=" %%a in ('type "%%~fi"') do (
  set "foo=%%a"
  call,set foo=%%foo:替换前内容=替换后内容%%
  call,echo/%%foo%%>>"%%~fi._"
  )
  move "%%~fi._" "%%~fi"
  )
  exit
  另给出VBS方案:
  Set WshShell = CreateObject("Wscript.Shell")
  WshShell.Run "cmd /c dir /s/b *.txt > list.txt",vbHide
  Wscript.Sleep 1000
  sFile = "list.txt"
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set oFile = objFSO.OpenTextFile(sFile,1)
  Do While Not oFile.AtEndOfStream
  strLine = oFile.ReadLine
  If Len(strLine) > 0 Then
  Set File = objFSO.OpenTextFile(strLine, 1)
  aryLines = File.ReadAll
  File.Close
  aryLines = Replace(aryLines, "替换前内容", "替换后内容")
  Set File = objFSO.OpenTextFile(strLine, 2)
  File.Write aryLines
  File.Close
  End If
  Loop
  oFile.Close
  objFSO.DeleteFile sFile
  Set objFSO = Nothing
  保存为VBS文件,放到TXT文件目录,双击执行。

猜你喜欢

转载自einlb60q.iteye.com/blog/1363189
今日推荐