批量修改TXT文件中id_?格式内容为小写的批处理脚本求助
批量处理TXT文件中
id_*格式内容转小写的批处理脚本解决方案 需求说明
扫描2Folder目录下的所有TXT文件,将文件中所有格式为id_?的内容(如id_AaPPle、id_BeRRy等)全部转换为全小写形式(如id_apple、id_berry)。
问题分析
原脚本仅能替换单个指定的id_开头内容,无法通过正则批量匹配所有符合格式的字符串,也没有实现遍历目录下所有TXT文件的逻辑,导致无法满足批量处理需求。
解决方案脚本
@echo off setlocal enabledelayedexpansion :: 配置源目录和输出目录 set "sourceDir=2Folder" set "targetDir=3Folder" :: 确保输出目录存在 if not exist "%targetDir%" mkdir "%targetDir%" :: 遍历源目录下所有TXT文件 for %%f in ("%sourceDir%\*.txt") do ( :: 构建输出文件路径(保持原文件名) set "outputFile=%targetDir%\%%~nf.txt" :: 调用PowerShell执行正则替换,将id_后的内容转为小写 powershell -Command "(Get-Content '%%f') -replace 'id_(\w+)', { 'id_' + $matches[1].ToLower() } | Set-Content '!outputFile!' -Encoding utf8" echo 已处理:%%~nxf → !outputFile! ) echo 所有文件处理完成! pause
脚本说明
- 目录配置:通过
sourceDir和targetDir指定源文件目录和输出目录,输出目录不存在时自动创建 - 文件遍历:使用
for循环遍历2Folder下所有.txt格式文件 - 正则替换:借助PowerShell的正则表达式匹配
id_后接的任意字母数字序列(\w+),将捕获到的内容转为小写后重新拼接为id_小写内容 - 编码处理:指定
-Encoding utf8避免中文或特殊字符出现乱码问题
示例验证
将示例文件放入2Folder目录,运行脚本后,3Folder中生成的文件内容与预期一致:
原内容片段:
"upma": "id_Apples", "upma": "id_APpleS",处理后内容:
"upma": "id_apples", "upma": "id_apples",
内容的提问来源于stack exchange,提问作者JR Santos
相关产品推荐
相关产品推荐

