我需要将一个简单的单行标题添加到一批 ascii (.asc) 文件中,长度可变(每几百万行),并使用相同的文件名保存。我有大量这些文件。这最好用 Windows 批处理文件完成吗?如果是这样,任何人都可以帮助解释如何?
在此先感谢-我知道这应该很简单,并且已经搜索了答案,但没有找到任何看起来很正确的东西...
我需要将一个简单的单行标题添加到一批 ascii (.asc) 文件中,长度可变(每几百万行),并使用相同的文件名保存。我有大量这些文件。这最好用 Windows 批处理文件完成吗?如果是这样,任何人都可以帮助解释如何?
在此先感谢-我知道这应该很简单,并且已经搜索了答案,但没有找到任何看起来很正确的东西...
虽然 jeb 的回答解决了这个问题,但我认为下面的方法应该在处理大量文件时运行得更快,因为它使用较少的命令和“批量重命名”操作:
for %%F in (*.txt) do (
echo Working on %%F
copy header.template + "%%F" "%%~nF.tmp"
)
move /Y *.tmp *.txt
由于您只能将某些内容附加到文件中,因此您不能通过简单的操作为文本添加前缀。
但是你可以:
copy header.template header.tmp
)type original.txt >> header.tmp
)del original.txt
)ren header.tmp original.txt
)编辑:
for %%F in (*.txt) DO (
echo Working on %%F
copy header.template newFile.tmp
type "%%~F" >> newFile.tmp
del "%%~F"
copy newFile.tmp "%%~F"
)
如果不重写整个文件,就无法做到这一点。
未经测试的批处理文件:
move source.asc source.asc.tmp
echo "header" > source.asc
type source.asc.tmp >> source.asc
del source.asc.tmp
根据其他答案,可以像这样完成多个文件(这次实际测试过):
for %%F in (*.asc) DO (
move "%%F" tmp.txt
echo header > "%%F"
type tmp.txt >> "%%F"
del tmp.txt
)