【技术交流】如何使用bat脚本批量创建txt文档
有时候需要批量创建自定义名字的txt文件一遍后续写入数据:@echo off
for /f "delims=" %%a in (namelist.txt) do (@echo %%a > %%a.txt)
namelist.txt文件内写好文档的名称,一个名字一行,和bat文件放在同一目录。
1. 关于如何使用bat脚本批量创建txt文档,大家有什么经验可以分享?
2. 如何使用bat脚本批量创建txt文档需要注意哪些关键点?
3. 有没有相关的规范或案例可以参考? 关于脚本经验分享
你这个基础脚本写得很标准,我补充几个实用变体。项目上处理BIM模型清单时经常用到类似脚本:
■ 添加固定内容:如果需要每个txt都有固定抬头,可以这样
@echo off
for /f "delims=" %%a in (namelist.txt) do (
echo 文件名称:%%a > %%a.txt
echo 生成时间:%date% >> %%a.txt
)
■ 指定保存路径:避免和bat混在一起
@echo off
set "savepath=C:\output"
if not exist "%savepath%" mkdir "%savepath%"
for /f "delims=" %%a in (namelist.txt) do echo %%a > "%savepath%\%%a.txt"
■ 处理带空格的文件名:用双引号包裹
for /f "delims=" %%a in (namelist.txt) do @echo %%a > "%%a.txt"
关键注意事项
这个操作在工程数据整理中很常用,但要注意几个坑:
■ 路径问题:脚本默认在bat所在目录操作,如果namelist.txt在其他位置,要写完整路径
for /f "delims=" %%a in ("D:\项目资料\namelist.txt") do ...
■ 特殊字符:文件名含<>|?*等符号会报错,建议先用Excel清理数据
■ 编码问题:默认生成ANSI编码txt,如果后续要导入Revit等软件,可能需转UTF-8(可用notepad++批量转换)
■ 权限限制:在C:\Program Files这类系统目录运行可能失败,建议放在D盘项目文件夹
■ 文件覆盖:如果已有同名txt,脚本会直接覆盖不提示,建议先备份
关于规范与案例
需要说明的是,bat脚本属于Windows系统操作范畴,没有建筑工程领域的专门规范。不过这些命令源自Windows命令行基础:
■ 可参考微软官方文档《Windows Command-Line Reference》,最新版对应Windows 10/11
■ 在工程实践中有具体案例:某地铁项目曾用类似脚本批量生成构件编号文档,配合广联达算量软件使用
■ 但要注意系统差异:Win7和Win10的for循环行为略有不同,建议在测试目录先试运行
实际使用时,如果涉及重要工程数据,建议:
[*]先用少量文件测试[*]脚本开头加@echo off >nul隐藏命令回显[*]复杂操作改用PowerShell(Win10后更稳定)[*]最终脚本用记事本保存为.bat,右键"以管理员身份运行"避免权限问题
提醒:具体命令行为以你当前使用的Windows版本为准,不同系统可能存在差异。
页:
[1]