永发信息网

批处理替换txt内容

答案:3  悬赏:50  手机版
解决时间 2021-02-02 18:45
  • 提问者网友:流星是天使的眼泪
  • 2021-02-02 06:01
我有100个txt,命名方式1.txt,2.txt,3.txt,4.txt......100.txt。要求,处理方式:1.txt的内容每一行出现的第一个(字符内容)“101”更改为(数值)1 x 12;同理:2.txt的内容每一行出现的第一个“101”更改为2 x 12;。。。。。。以此类推:100.txt的内容每一行出现的第一个“101”更改为100 x 12。求大神赐一份批处理的代码,注释清晰。
最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-02-02 07:10
PowerShell——测试前备份源文件
1. 保存为ps1扩展名文件,右键单击脚本,以powershell运行
2. 未对powershell进行过设置的,可以管理员身份运行CMD,复制以下命令到命令提符 以解除脚本限制
powershell -c "set-executionpolicy unrestricted"3. WIN10以下系统如出错,可能需要去微软官网下载补丁升级powershell

$ScDir="E:\DCOPY\test"   #设置TXT文件所在目录
Get-ChildItem -Path "$ScDir" -Recurse -Filter *.txt|ForEach-Object{   #扫描目录下所有TXT文件
    $var=$_.BaseName+' x 12';$str=$null;
    #读取每个文档,对其进行替换操作
    Get-Content -Path $_.FullName|ForEach-Object{$str=-join($str,($_  -replace '101(.*)',-join($var,'$1')),"`r`n");} 
    $str|Out-File -FilePath $_.FullName  #输出结果到源文件
}
全部回答
  • 1楼网友:洒脱疯子
  • 2021-02-02 09:19
这么晚这么冷 我倒是会
  • 2楼网友:狂恋
  • 2021-02-02 08:06
在批处理文件里面使用set 命令设定特定文本文件里面的相关str的内容。 下面是具体的一些例子: ==================================================   举例,现有文本文件a.txt:   a.txt   ------   helloo bat !   helloo china !   helloo world !   helloo bat , helloo china , helloo world ~!!!   ------   要使用批处理程序将 a.txt 中出现的每个 helloo 都替换为 hello:   @echo off   (for /f "delims=" %%i in (a.txt) do (set str=%%i   setlocal enabledelayedexpansion   set str=!str:helloo=hello!   echo !str!   endlocal   ))>1.txt   start 1.txt   pause>nul ===============================================   1.批处理写入文本   请把以下代码拷贝到一个txt文件中,并另存为以.bat为后缀名的批处理文件,名字随便填写,并在该批处理文件所在目录新建一个名字为qq的文本文件,双击运行批处理,写入你想往txt文件中写入的内容并敲击回车即可讲内容写入qq.txt   @echo off   set /p user=请输入内容:   echo %user%>qq.txt ===============================================   2.批处理逐行读取文本内容   请把以下代码拷贝到一个txt文件中,并另存为以.bat为后缀名的批处理文件,名字随便填写,并保证qq.txt文本文件与该批出位于同一个目录,然后双击运行该批处理即可看到读取的文本内容。   @echo off & setlocal enabledelayedexpansion   set j=0   for /f "delims=""" %%i in (qq.txt) do (   set /a j+=1   set con!j!=%%i   call set a=%%con!j!%%   echo !a!   )   pause ================================================
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯