批量复制文件名称&第一行多个文本文件

时间:2014-12-07 18:32:09

标签: batch-file

此代码效果很好,但我需要将文件名添加到它所写的每一行的前面。

如何做到这一点?

来自线程: batch to copy FIRST line of multiple text files


这使用了来自 - https://www.dropbox.com/s/rfdldmcb6vwi9xc/findrepl.bat

的名为findrepl.bat的帮助程序批处理文件

将findrepl.bat放在与批处理文件相同的文件夹中或路径上。

@echo off
set linenum=1
for %%a in (*.txt) do (
   type "%%a"|findrepl /o:%linenum%:%linenum% >>tmp.tmp
)
move /y tmp.tmp "Result.txt"

1 个答案:

答案 0 :(得分:1)

@echo off 
(
for %%a in (*.txt) do (
 set "first="
 for /f "usebackq delims=" %%b in ("%%a") do if not defined first (
  echo(%%a %%b
  set first=Y
 )
)
)>"Result.txt"

应该适合你。


进入一个名为" Result.txt"的新文件 - 对于每个文件(名称为%%a
- 清除旗帜
- 逐行读取文件到%%b;如果标志清除echo文件名    和行读取并设置标志,以便不再生成其他行

使用了

usebackq,因为引用了%%a。如果%%a包含分隔符,则引用{{1}}。