BAT里批量修改文本文件里的内容!

大家好我想批量修改文本文件里的部分内容过程是打开文本文件找到1234这排数字修改成4311保存继续这样操作大概有几千个这样的文本文件请高手帮助我手动真是太累了你好我现在还... 大家好我想批量修改 文本文件里的 部分内容 过程是 打开文本文件 找到1234这排数字修改成 4311 保存 继续这样操作 大概有几千个这样的文本文件请高手帮助 我手动真是太累了
你好我现在还是有点不明白 比如我的这些文件 在D盘的一个国语的文件包里 这样的批量能解觉吗 我的意思是 我只需要替换一个文件的这样的过程 就可以 这样你看看 打开D盘国语文件夹 找到111.txt文本文件 找到文件里数字1234 修改成 4321 保存 这样就可以了 然后我回自己按这样的步骤 用表格文件打出所以的这些文件 然后批量修改 是这样的 请您在费心看一下
展开
 我来答
很多游戏
高粉答主

2019-11-19 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:387009

向TA提问 私信TA
展开全部

1、首先鼠标右键单击电脑桌面,选择新建一个文本文档。

2、然后打开新建文本文档,输入下方的代码:

@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:1234=4311%%

call,echo/%%foo%%>>"%%~fi._"

)

move "%%~fi._" "%%~fi"

)

exit

3、然后点击选择编辑页面左上角文件中的“另存为”。

4、然后在弹出来的窗口中,将文件名的后缀更改成“.bat” ,选择保存的目录,回车确定。

5、然后去到保存的目录,找到下图中的程序,双击它就完成了。

心的舞台8888
2021-06-13 · TA获得超过12.9万个赞
知道小有建树答主
回答量:5548
采纳率:100%
帮助的人:103万
展开全部

操作设备:戴尔电脑

操作系统:win10

第一步、首先鼠标右键单击电脑桌面,选择新建一个文本文档,如下图所示。

第二步、然后打开新建文本文档,输入下方的代码:@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:1234=4311%%call,echo/%%foo%%>>"%%~fi._")move "%%~fi._" "%%~fi")exit

第三步、然后点击选择编辑页面左上角文件中的“另存为”,如下图所示。

第四步、然后在弹出来的窗口中,将文件名的后缀更改成“.bat” ,选择保存的目录,回车确定,如下图所示。

第五步、然后去到保存的目录,找到下图中的程序,双击它就完成了,如下图所示。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千羽之城
推荐于2017-11-22 · TA获得超过4510个赞
知道大有可为答主
回答量:2132
采纳率:0%
帮助的人:1416万
展开全部
@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:1234=4311%%
call,echo/%%foo%%>>"%%~fi._"
)
move "%%~fi._" "%%~fi"
)
exit

以上为批处理代码,保存为bat文件,双击执行,使用前备份文件。另给出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, "1234", "4311")
Set File = objFSO.OpenTextFile(strLine, 2)
File.Write aryLines
File.Close
End If
Loop
oFile.Close

objFSO.DeleteFile sFile
Set objFSO = Nothing

保存为VBS文件,放到TXT文件目录,双击执行。
----------------------------------------
两段代码都可以实现批量替换,无论在该文件夹的深度是多少。不用打开TXT直接替换。不懂可以hi我。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
拉拉君婷
2020-04-09 · TA获得超过216个赞
知道答主
回答量:44
采纳率:50%
帮助的人:15.2万
展开全部

逗号不要钱的,看着太累了!

新建一个txt文本,后缀改为bat,里面复制进去下面的代码,把需要替换的文件夹拖进去,按回车:(*.txt是文件后缀可改,set a=!a:1234=4311!复制这一行并修改可以替换多个需要替换的内容)


@echo off

setlocal enabledelayedexpansion

:tou

set /p wjj=拖入文件夹:

for /r %wjj% %%i in (*.txt) do (

  for /f "delims= usebackq" %%j in ("%%i") do (

    set a=%%j

    set a=!a:1234=4311!

    echo !a!

  )>>临时文件.txt

  move 临时文件.txt "%%i"

)

goto:tou

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冠片N
高粉答主

2020-10-21 · 繁杂信息太多,你要学会辨别
知道答主
回答量:11.8万
采纳率:1%
帮助的人:6285万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式