Windows 11下批量处理目录文本文件,保留每行前两个字段
批量处理Windows目录下的文本文件:仅保留每行前两个空格分隔字段
需求说明
- 遍历指定目录下所有文本文件(
.txt格式) - 对每行内容,仅保留第二个空格之前的所有内容(即前两个以空格分隔的字段)
- 处理后覆盖原文件(建议提前备份数据)
原始内容示例
106 114 24 25 1 0 705 79 19 21 1 0 661 361 30 37 1 0 212 332 30 37 1 0
处理后效果示例
106 114 705 79 661 361 212 332
方案1:Python脚本(Windows 11兼容,带自动备份)
脚本会遍历当前目录下所有.txt文件,处理后自动生成备份文件(后缀.bak),避免数据丢失。
import os # 遍历当前目录下的所有txt文件 for filename in os.listdir('.'): if filename.endswith('.txt'): # 生成备份文件名 backup_filename = filename + '.bak' # 读取原文件内容 with open(filename, 'r', encoding='utf-8') as f: lines = f.readlines() # 备份原文件 with open(backup_filename, 'w', encoding='utf-8') as f: f.writelines(lines) # 处理每行内容:取前两个字段 processed_lines = [] for line in lines: parts = line.strip().split() if len(parts) >= 2: processed_line = ' '.join(parts[:2]) + '\n' else: # 内容不足两个字段时保留原行 processed_line = line processed_lines.append(processed_line) # 写入处理后的内容到原文件 with open(filename, 'w', encoding='utf-8') as f: f.writelines(processed_lines) print(f"已处理:{filename},备份文件:{backup_filename}")
使用步骤
- 将脚本保存为
process_text.py,放到目标目录下 - 打开Windows终端(Win+X → 选择Windows终端),切换到该目录
- 执行命令:
python process_text.py
方案2:Windows批处理脚本(无需额外软件)
适合不想安装Python的用户,直接用Windows自带命令行工具处理。注意:此脚本会直接覆盖原文件,建议手动备份后再运行
@echo off setlocal enabledelayedexpansion :: 遍历当前目录下所有txt文件 for %%f in (*.txt) do ( echo 正在处理:%%f :: 创建临时文件存储处理结果 type nul > temp.txt :: 逐行提取前两个字段 for /f "tokens=1,2*" %%a in (%%f) do ( echo %%a %%b >> temp.txt ) :: 用临时文件覆盖原文件 move /y temp.txt %%f > nul ) echo 所有文件处理完成! pause
使用步骤
- 将脚本保存为
process_text.bat,放到目标目录下 - 双击运行该批处理文件即可
内容的提问来源于stack exchange,提问作者Marios Constantinou
相关产品推荐
相关产品推荐

