我有一个文件目录,我需要遍历文件,将每个文件的内容输出到一个新文件,同时将文件名附加到每行的末尾。
因此,从10个文件的目录中我想得到1个文件,每个文件的内容由每个文件的内容组成,但每行的末尾都有每个文件名,所以我知道它最初来自哪个文件。
我可以将固定文本附加到每行的末尾,但我无法弄清楚如何使用文件名,并将其更改为适用于任何文件。我尝试过使用通配符((%~dp0 * .csv),但它说它无法找到指定的文件。
这是我到目前为止所做的:
for /F "delims=" %%j in (%~dp0\6691_706.csv) do echo.%%jAddToEndofLine >> %~dp0\New.txt
有人可以帮忙吗?感谢。
答案 0 :(得分:1)
失败,因为FOR / F不允许文件使用通配符,它用于逐行读取文件。
你应该使用“普通”FOR
for %%A in (%~dp0\*.bat) do (
echo Processing file '%%A'
FOR /F "delims=" %%L in (%%A) do (
echo Line %%L from file %%A >> %~dp0\New.txt
)
)