将文件名写入第一行的批处理文件

时间:2012-09-08 23:39:46

标签: loops batch-file directory dos

您好,先感谢您抽出宝贵时间阅读本文。

我正在尝试编写一个简单的批处理文件,它将对文件夹中的每个文本文件执行一项操作。文本文件具有以下格式:

Format of txt files:
##### [delimeter "tab"] #####
##### [delimeter "tab"] #####
##### [delimeter "tab"] #####
....
EOF

我需要在文件夹中的每个文件中添加一行作为标题。标题应包含文件名的一部分。文件名将始终包含2-3个字母和3-5个数字。我需要附加x和y的数字。

For instance for 
File CJF0185.PRN 

0185X [delimeter "tab"] 0185Y
##### [delimeter "tab"] #####
##### [delimeter "tab"] #####
##### [delimeter "tab"] #####
....
EOF

到目前为止,我只能将文本添加到我知道其名称的单个文件的第一行。

1 个答案:

答案 0 :(得分:0)

@echo off
setlocal enableDelayedExpansion
for %%F in (*.txt) do (
  for /f "delims=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" %%n in ("%%~nF") do (
    >%%F.new echo %%nX  %%nY
    >>%%F.new type %%F
    move /y %%F.new %%F
  )
)

批处理脚本中的第一个ECHO语句中有一个硬编码的制表符,但我不确定该网站是否保留了制表符。没有已知的方法可以批量编程生成制表符。