全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: jelly

[Windows VPS] bat如何对一个txt文件查找111替换成222

[复制链接]
发表于 2016-4-29 20:36:11 | 显示全部楼层
zyypp 发表于 2016-4-29 15:39
需要把现有的代码再嵌套进一个for循环中 使用循环的内容就是 dir遍历目录下的所有txt文件 ...

能不能直接写给我,这些代码根本看不懂。。。
发表于 2016-4-30 01:10:59 | 显示全部楼层
namur 发表于 2016-4-29 20:36
能不能直接写给我,这些代码根本看不懂。。。
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. set path=%1
  4. set file=%2
  5. set raw=%3
  6. set replace=%4


  7. set "file=%file:"=%"
  8. for /f "delims=" %%i in ('dir /s/b "%path%" "%file%"') do (
  9.         for /f "delims=" %%a in ('type "%%~fi"') do (
  10.                 set "foo=%%a"
  11.                 call,set foo=%%foo:%raw%=%replace%%%
  12.                 call,echo/%%foo%%>>"%%~fi._"
  13.         )
  14.         move "%%~fi._" "%%~fi"
  15. )
复制代码


用法:
将以上代码保存为 bat文件
那么使用方法就是bat文件 "完整路径" "文件扩展名" 替换前内容 替换后内容
举个栗子
保存为bat.bat
  1. bat.bat "G:\test\txt" "*.txt" 我是替换前的字符   我是替换后的字符
复制代码

代码缺点替换前和替换后的字符中不支持空格

PS:嫌弃一下伸手党,脚本啊、代码啊。如果自己不去接触,不去了解,不去写。那永远都不可能会的。
发表于 2016-4-30 01:44:32 | 显示全部楼层
namur 发表于 2016-4-29 20:36
能不能直接写给我,这些代码根本看不懂。。。

看不懂你也敢直接用? 佩服佩服
发表于 2016-4-30 04:55:06 | 显示全部楼层
@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
发表于 2016-4-30 10:29:34 | 显示全部楼层
多少图形下的批量替换字符的软件,功能强大多了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-28 23:06 , Processed in 0.059309 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表