如何批量将文件夹内所有TXT文件每一行(含空行)重复两次?
解决方案
Batch批处理方案(优先)
将以下代码复制保存为后缀为.bat的文件,放到需要处理TXT文件的文件夹内双击运行即可。
注意:默认会处理当前文件夹下所有.txt后缀的文件,会直接修改原文件,操作前建议先备份文件测试
@echo off setlocal enabledelayedexpansion :: 遍历当前目录下所有txt文件 for %%f in (*.txt) do ( del "temp_%%~nf.txt" 2>nul :: 读取所有行,包含空行和特殊字符开头的行 for /f "delims=" %%a in ('type "%%f" ^& echo.^| findstr /n ".*"') do ( set "line=%%a" :: 移除findstr添加的行号前缀 set "line=!line:*:=!" :: 每行写入两次 echo(!line!>>"temp_%%~nf.txt" echo(!line!>>"temp_%%~nf.txt" ) :: 替换原文件 move /y "temp_%%~nf.txt" "%%f" ) echo 所有TXT文件处理完成 pause
Python拖拽处理脚本
将以下代码复制保存为后缀为.py的文件,需要处理文件时,直接选中单个或多个TXT文件,拖拽到该脚本的图标上松开即可完成处理。
注意:默认直接修改原文件,有需要可以自行修改代码生成新的输出文件避免覆盖原内容
import sys # 遍历所有拖拽传入的文件路径 for file_path in sys.argv[1:]: # 跳过非txt后缀的文件 if not file_path.lower().endswith('.txt'): continue # 读取文件所有行,保留换行符和空行 with open(file_path, 'r', encoding='utf-8', newline='') as f: lines = f.readlines() # 每行重复两次写入原文件 with open(file_path, 'w', encoding='utf-8', newline='') as f: for line in lines: f.write(line) f.write(line)
内容的提问来源于stack exchange,提问作者foubou
相关产品推荐
相关产品推荐

