在子目录中添加来自多个CSV的txt文件

时间:2009-10-13 19:38:13

标签: append wildcard batch-processing subdirectory

我正在尝试编写一个批处理文件,它会将直接子目录中的所有* .csv文件附加到当前目录中的单个文本文件中。

从各种来源我已经设法将这段代码拼凑在一起,该代码适用于当前目录中的文件但不适用于子目录

for %%a in (*.csv) do (type %%a >> csvreport.txt)

如果有人可以帮助我,我会非常感激,因为我尝试了各种通配符方法,但没有成功。

3 个答案:

答案 0 :(得分:2)

另一种选择......

for /f usebackq %%a in (`dir /s /b *.csv`) do (type %%a >> csvreport.txt)

编辑:更多地阅读您的详细信息...您只想要直接目录,您可以这样做:

for /f usebackq %%a in (`dir /b /ad`) do for %%b in ("%%a"\*.csv) do (type "%%b" >> csvreport.txt)

答案 1 :(得分:0)

for /R .\ %%a in (*.csv) do (type %%a >> csvreport.txt)

/ R表示 recursive ,之后的参数是要启动的文件夹(。\是当前目录)。

如果您运行for /?

,可以找到更多资讯

答案 2 :(得分:0)

dir /ad /b > dirs.txt
for /f "tokens=1*" %%i in (dirs.txt) do cd %%i & for %%b in (*.csv) do (type %%b >> c:\csvreport.txt) & cd ..

使用/ R标志将遍历所有子目录树。您可以将'for'语句嵌套到仅与直接子目录一起使用,而不是它们的子目录。