我需要在一批ascii(.asc)文件中添加一个简单的单行标题,其中包含可变长度(每个数百万行),并使用相同的文件名保存。我有大量的这些文件。最好用Windows批处理文件完成吗?如果是这样,任何人都可以帮忙解释一下吗?
提前致谢 - 我知道这应该很简单并且已经找到了答案,但找不到任何看起来很合适的东西......
答案 0 :(得分:1)
由于您只能将某些内容附加到文件中,因此无法通过简单的操作为文本添加前缀 但你可以:
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"
)
答案 1 :(得分:1)
如果不重写整个文件,就无法做到这一点。
未经测试的批处理文件:
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
)
答案 2 :(得分:1)
虽然jeb的答案解决了这个问题,但我认为下面的方法应该运行得更快,因为它使用了更少的命令和“批量重命名”操作:
for %%F in (*.txt) do (
echo Working on %%F
copy header.template + "%%F" "%%~nF.tmp"
)
move /Y *.tmp *.txt