[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何把某文件夹里的所有TXT文本的内容批量替换?

有很多的TXT文本,每个里面的规定内容替换成其他的,有多个关键字,!

也就是:

把某文件夹里面的所有TXT文档里面的
【嘎嘎】全部替换成【哈哈】
【拉拉】全部替换成【嘻嘻】
【123456】 全部替换成【654321】


不知道说的清楚不,·~ 呵呵 ~

替换应该很慢,可以设置成 替换第一个后隔30秒再替换第二个。·

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. for /r "D:\某文件夹" %%f in (*.txt) do (
  3.   cd.>"%%~dpf~"
  4.   for /f "usebackq delims=" %%l in ("%%~ff") do (
  5.     (set ln=%%l)&(set ln=!ln:【嘎嘎】=【哈哈】!)&(set ln=!ln:【拉拉】=【嘻嘻】!)&(set ln=!ln:【123456】=【654321】!)
  6. (set /p=!ln!<nul)& echo.
  7.   )>>"%%~dpf~"
  8.   del /f /q "%%~ff"
  9.   cd /d "%%~dpf"
  10.   ren "%%~dpf~" "%%~nf.~tx"
  11. )
  12. for /r "D:\某文件夹" %%f in (*) do (
  13.   cd /d "%%~dpf"
  14.   ren *.~tx *.txt
  15. )
  16. exit /b
复制代码

TOP

回复 2楼 的帖子

不会很慢, 主要耗时间的是文件的数目, 越多越耗, 文件大小影响不大

TOP

感谢呀,~~ 我测试下,·~  呵呵,

TOP

  1. strFolder = "d:\aaa"
  2. Set objFSO = CreateObject("Scripting.FileSystemObject")
  3. Set colFiles = objFSO.GetFolder(strFolder).Files
  4. For each file in colFiles
  5.     strfilename = file.Name
  6.     If objFSO.GetExtensionName(strfilename) = Lcase("txt") Then
  7.         If file.size = 0 Then
  8.             WSH.Echo file & "是空文件,删除空文件重来!"
  9.             EXIT For
  10.         End If
  11.         Set objTextStream = objFSO.OpenTextFile(file, 1, -2)
  12.         strString = objTextStream.ReadAll
  13.         strString = replace(strString, "【嘎嘎】", "【哈哈】")
  14.         strString = replace(strString, "【拉拉】", "【嘻嘻】")
  15.         strString = replace(strString, "【123456】", "【654321】")
  16.         objTextStream.Close
  17.         Set objTextFile = objFSO.OpenTextFile(file, 2, -2)
  18.         objTextFile.Write strString
  19.     End If
  20. Next
复制代码
(*^_^*)

TOP

用wfr吧 比较好用

TOP

OK 了。。感谢。。

TOP

返回列表