Windows批处理脚本实现PDF文件名拆分并生成CSV清单
Windows Batch Script for Generating CSV from PDF Filenames
这里有一个完全适配Windows批处理的脚本,可以帮你处理D:\PDF目录下的PDF文件,生成你需要格式的CSV清单:
@echo off setlocal enabledelayedexpansion :: 定义输出CSV文件的路径,可根据需要修改 set "output_csv=D:\PDF\file_list.csv" :: 写入CSV表头 echo FILE_NAME FILE_NAME_WO_EXT COL1 COL2 COL3 COL4 > "%output_csv%" :: 遍历D:\PDF目录下所有PDF文件 for %%f in ("D:\PDF\*.pdf") do ( :: 获取带扩展名的完整文件名 set "file_name=%%~nxf" :: 获取不带扩展名的文件名 set "file_name_wo_ext=%%~nf" :: 按下划线分割文件名,提取前4个字段 for /f "tokens=1-4 delims=_" %%a in ("%%~nf") do ( set "col1=%%a" set "col2=%%b" set "col3=%%c" set "col4=%%d" ) :: 将当前文件的信息追加到CSV中 echo !file_name! !file_name_wo_ext! !col1! !col2! !col3! !col4! >> "%output_csv%" ) echo 操作完成!CSV文件已生成:%output_csv% endlocal
脚本细节说明
和你提供的Shell脚本相比,批处理用Windows原生语法实现了相同的逻辑:
@echo off:关闭命令回显,让输出更简洁setlocal enabledelayedexpansion:启用延迟变量扩展,确保在循环内可以正确读取动态变化的变量值for %%f in ("D:\PDF\*.pdf"):遍历目标目录下的所有PDF文件,%%f代表当前文件的完整路径%%~nxf:提取文件的名称+扩展名(比如100_200_test_1st.pdf)%%~nf:提取文件的名称(不含扩展名)(比如100_200_test_1st)
for /f "tokens=1-4 delims=_":按下划线分割文件名,把前4个分割后的字段分别赋值给%%a到%%d,对应你的COL1到COL4- 用
echo ... > "%output_csv%"写入表头(覆盖原有文件),echo ... >> "%output_csv%"追加每行数据
使用方法
- 把上面的代码复制到记事本中
- 保存为
generate_pdf_csv.bat(注意保存类型选“所有文件”) - 双击运行这个批处理文件,或者在命令行中执行它
- 生成的CSV文件会保存在
D:\PDF\file_list.csv
内容的提问来源于stack exchange,提问作者user6650224
相关产品推荐
相关产品推荐

