永发信息网

bat批量修改文本内容

答案:3  悬赏:60  手机版
解决时间 2021-03-17 23:36
  • 提问者网友:孤凫
  • 2021-03-17 15:43
我有一个1.txt文本需要修改,请高手帮忙写个BAT。我的文本内容是这样的:新的明天
爱了你的
weiaisi
love游
lovememe
打板
正在输入.
百绣
绣绣更健康
绣娘
为你绣花
banzhu18
昨夜星光
网游之恋
空气的味道我想每行的前面加上一些字,比如加上用户名,运行BAT后能修改成以下这样的:用户名 新的明天
用户名 爱了你的
用户名 weiaisi
用户名 love游
用户名 lovememe
用户名 打板
用户名 正在输入.
用户名 百绣
用户名 绣绣更健康
用户名 绣娘
用户名 为你绣花
用户名 banzhu18
用户名 昨夜星光
用户名 网游之恋
用户名 空气的味道
最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-03-17 16:52
代码如下(已去最后一行空格):@echo off
(for /f "delims=" %%a in (1.txt) do (
if defined n echo.
set /p tmpstr=用户名 %%a set n=1
))>2.txt
start 2.txt
全部回答
  • 1楼网友:从此江山别
  • 2021-03-17 18:59
@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我。
  • 2楼网友:行路难
  • 2021-03-17 17:44
简单,这样试试 假设你的文本是 test.txt 且与 批处理在同目录下,就用这个代码 @echo off set Add=%username% echo.>修改后的文本.txt for /f %%i in (test.txt) do ( echo %Add% %%i>>修改后的文本.txt )
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯