Bat如何替换文件内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bat如何替换文件内容?相关的知识,希望对你有一定的参考价值。

比如有个文件1.txt
内容是
789
123456789
789
如何在1.txt中将全部的789替换成AAA
我想要批处理 Bat文件,因为我要修改好多txt中的内容。

@echo off
setlocal enabledelayedexpansion
set fn=1.txt
(for /f "tokens=*" %%i in (%fn%) do (
set s=%%i
set s=!s:789=AAA!
echo !s!))>temp.txt
move /y temp.txt "%fn%"

如果修改当前目录下所有txt
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir/b *.txt') do (
(for /f "tokens=*" %%i in (%%a) do (
set s=%%i
set s=!s:789=AAA!
echo !s!))>temp.txt
move /y temp.txt "%%a" )

如果可以用第三方工具的话,推荐国产高手白杨的wfr,命令非常简单

wfr 1.txt -r:"789" -t:"AAA"
替换所有txt
wfr *.txt -r:"789" -t:"AAA"
参考技术A 方法/步骤

1、桌面点右键新建一个好压文件 双击打开后。

2、点击好压界面上的工具箱 选择里面的批量字符替换工具打开。
3、选择你要修改的文件类型。
4、点击文件类型右边的箭头可以查看软件支持哪些类型的文件。
5、点击文件目录右边的浏览 选择你要修改的文件所在目录。
6、注意包含子目录和包含压缩包内文件是否勾选,还可以选择备份源文件 避免修改错误。
7、输入你需要替换的旧字符 和 用来替换旧字符的新字符 如果字符中有字母还可以选择区分大小写。

8、比如我需要将桌面“ 测试” 这个文件夹中的所有(包括子目录)TXT文档中的“ 123” 修改成 “我是”按下图设置好后点替换即可 很快就会提示替换成功。
参考技术B 查找设成789
替换设成AAA

然后全部替换追问

我想要批处理 Bat文件,因为我要修改好多txt中的内容。

追答

有软件可以做到,你搜一下

追问

我只想要bat,因为这是我要写的bat文件中的其中一步,就差这一步就搞定了。
虽然你的回答帮不到我,但是还是要谢谢你的热心~~

追答

http://zhidao.baidu.com/question/286203392.html

如何批量修改文件名

相类似的问题已经很多了,下面我给你提供几个方法:

1、批量更名专家(RenameWiz)
http://www.skycn.com/soft/7412.html

2、WinXP中选中你所需要修改的文件(你可以利用“Shift”键或“Ctrl”键进行选定),然后打开右键选择其中的“重命名”,此时你会发现其中的某个文件的名称已变成可修改状态,修改文件名,然后回车确认,此时你会发现所选择的所有文件都已经完成了名称的修改。这个名称的排列是有一定规律的,例如,你键入的文件名为good,那么其它文件将被命名为good(1)、good
(2),依次类推。

3、ACDSee批量修改文件名(好像也可以修改PDF文件,试一下)
(1)首先,启动ACDSee到浏览方式,找到照片所在文件夹,同时选中所有要更改文件名的图片,可使用“编辑”菜单中的“全选”命令,或使用“Shift+鼠标左键”选中连续的多个文件、使用“Ctrl+鼠标左键”选中不连续的多个文件。
(2)从“编辑”菜单中选择“批量重命名”命令,或直接使用快捷键“Alt+R”,在弹出的对话框中的“模板”项输入需要的文件名,如1999##,在“开始于”中输入“1”。单击“确定”按钮后,所有选中的图片都被重新命名为199901、199902、199903……通过这个操作我们很快就可以把所有照片文件的名称按照需要的形式改正过来。
从图中可以看到,原来的旧名称Dscfoo1.jpg、Dscfoo2.jpg已经被改为新名称199901.jpg、199902.jpg。其实ACDSee不仅可以更改图片的文件名,对所有类型的文件都可进行批量改名,改名的方法与修改图片文件的方法相同。

你知道用数码相机拍摄出来的照片,导入计算机后都会使用默认的文件名“dscf00*.Jpg”,而且照片都是水平的,文件也比较大。特别是在需要按一定顺序排列的照片(如给班级拍摄的照片,需要将学生的照片与该学生的学号一一对应)就显得尤为不方便了。为了便于导入平台之中,我们必须把文件名改成与学生的学号一致,而为了节省空间也必须把每个文件变小,同时为了便于查看还必须把照片旋转过来。在照片很少的情况下,我们可以一张一张的对照片进行处理,但是如果遇到照片很多再用这种方式处理,就显得非常的不方便了。但是如果我们能够充分利用ACDSee的批量修改文件名的功能,那这样的工作就显得非常轻松了。ACDSee批量修改文件名的具体方法如下:
  (1)首先,启动ACDSee到浏览方式,找到照片所在文件夹,同时选中所有要更改文件名的图片,可使用“编辑”菜单中的“全选”命令,或使用“Shift+鼠标左键”选中连续的多个文件、使用“Ctrl+鼠标左键”选中不连续的多个文件。
  (2)从“编辑”菜单中选择“批量重命名”命令,或直接使用快捷键“Alt+R”,在弹出的对话框中的“模板”项输入需要的文件名,如1999##,在“开始于”中输入“1”(如图所示)。单击“确定”按钮后,所有选中的图片都被重新命名为199901、199902、199903……通过这个操作我们很快就可以把所有照片文件的名称按照需要的形式改正过来。
  由此我们可以知道,原来的旧名称Dscfoo1.jpg、Dscfoo2.jpg已经被改为新名称199901.jpg、199902.jpg。其实ACDSee不仅可以更改图片的文件名,对所有类型的文件都可进行批量改名,改名的方法与修改图片文件的方法相同。
参考技术A 1
在c盘建立一个文件夹,将下载的图片放置于该文件夹中,如下图所示。
2
鼠标左键点击,开始-》运行-》在对话框中输入字母“cmd”,进入dos模式 ,如下图所示。
在dos模式输入命令行“cd c:\pic”然后回车,再输入命令行“dir /b>rename.xls",如下图所示,可将文件夹中的文件名在rename.xls文件中列出。
小贴士:有的时候,你的计算机正处于中文输入状态,为确保命令行能够打出来,你可以切换成英文大写状态。
随后用xls打开c:\pic文件夹中的rename.xls,你会发现文件名以全部罗列在A列中(你也可以用鼠标来调整文件名的顺序),你可以在B1列中输入1.jpg作为第一个文件文件名。
鼠标选中B1单元格,并在B1列的右下方,使鼠标光标变为+号时,拖动使所有jpg文件的右侧B列中都有文件名。再将A8单元格中没有用的文件名删除,如下图示。
鼠标选中C1单元格,并在编辑框中输入公式="ren "&A1&" "&B1,如下图所示。
继续用鼠标拖动C1单元格右下方的句柄,使剩余的C2-C7单元格填充如下图所示。
然后,鼠标选中C列,鼠标右键复制,如下图示。
在记事本中,粘贴刚才的命令行,如下图示。
鼠标点击菜单“文件”——“另存为”,输入文件名ren.bat,要注意下图所示红圈中的路径及扩展名选项。
打开c盘pic文件夹,鼠标双击ren.bat这个批处理文件,即可将该文件夹下的jpg图片,按照刚才rename.xls中的顺序和文件名批量修改文件名,如下图示。
自此,你已经完成了批量修改文件名的操作。我们运用了dos命令技巧、xls技巧以及批处理3个知识点来达到批量修改文件名的效果。本回答被提问者和网友采纳
参考技术B 回答

第一步,下载上面的工具软件后安装打开,点击软件左上角【添加文件】按钮或者空白中间处,将需要修改名称的pdf全部添加到软件中。第二步,添加好pdf文件到软件后就可以在左边进行设置了,命名方式选择“自定义”(如果有其他需求也可以选择“插入”或“替换”功能);然后在下方输入新文件名(也可以不输入);最后进行编号设置,分别是起始、增量和位数。可以一边设置一边在右边实时预览新文件名,更方便。第三步,当你认为设置没有问题后就可以点击【开始重命名】按钮,启动软件程序了。稍等片刻软件弹出“重命名成功”提示框,说明批量修改文件名成功。第四步,通过案例可以看到,批量修改名称后的pdf文件以“文件名+序号”的方式呈现,整齐规范,非常nice!

希望我的答案能够帮到你哦

参考技术C 很简单!你把你要改的文件全选(ctrl+A),再按F2,改个名(例:文件),下面的会自动改为:文件(编号),编号是从1开始,依次加1! 参考技术D 如果文件名是一样,只是文件名后面加个数字的话可以这样做。
可以一次性选择全部文件,然后按F2
在第一个文件里输入文件名就可以了,其他的文件会依次带上序号

以上是关于Bat如何替换文件内容?的主要内容,如果未能解决你的问题,请参考以下文章

怎么用bat把多行的内容替换?

Python脚本批量给文件添加内容

bat批处理:A.txt文件的内容替换B.txt文件里面所有的out文字?

如何用bat文件查找并修改文本的内容?

求教如何命令 替换 SQLite软件 文件中的N批量改成Y

bat替换文本字符串!