开发者

Appending a txt file from multiple CSVs in subdirectories

I am trying to write a batch file which will append all *.csv files in the immediate subdirectories to a single text file in the current directory.

From various sources I have managed to piece together this co开发者_StackOverflow中文版de which works fine for files in the current dir but not sub-dirs

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

If anybody could help me with this I would be extremely grateful as I have tried various approaches with wildcards but without success.


Yet another option...

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

EDIT: Reading your details a bit more ... you want just the immediate directories, you can do this:

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


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

The /R indicates recursive and the parameter afterward is the folder in which to start (.\ is the current directory).

You can find up more if you run for /?


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 ..

Using the /R flag will traverse all subdirectory trees. You can nest the 'for' statements to only work with the immediate subdirectories but not their subdirectories.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜