Board logo

标题: [已结]按子目录分别合并文件的疑问? [打印本页]

作者: cnxyc     时间: 2008-10-16 16:28    标题: [已结]按子目录分别合并文件的疑问?
我想合并一个文件夹下若干子目录下的N个文本文档, 要求每个子目录下的文本文档合并成一个文件, 并且文件名为那个子目录的目录名。 在网上找到一句代码可以解决这个问题,但是批处理和所处理文件必须放在同一目录。 现在我想把批处理放在任何目录都可以执行,有没有高手帮我解决这个问题? 代码如下: for /r %%I in (.) do copy "%%~dpnI\*.txt" "%%~dpI%%~nI.txt" 怎么没人指教啊!是我表达不清楚吗? 把代码贴出来:
@echo off
:aaa
echo 请输入你要处理的目录:
set/p chulidir=""
if not exist "%chulidir%" goto ccc
:bbb
for /r  %%I in (.) do copy "%%~dpnI\*.txt" "%%~dpI%%~nI.txt"
copy /y /v %chulidir%\*.txt "c:\转换\"
del %chulidir%\*.txt
start c:\转换\
echo 处理完毕!
pause
goto aaa
:ccc
echo 对不起!你输入的是错误目录或者格式不对,请重新输入!!!
goto aaa
重点是这句: for /r %%I in (.) do copy "%%~dpnI\*.txt" "%%~dpI%%~nI.txt" 能不能实现用变量来确定处理目录? 谢谢啊!!! [ Last edited by HAT on 2008-10-16 at 17:59 ]

作者: terse     时间: 2008-10-16 17:26
for /r "%chulidir%" %%i in (.) do copy "%%~dpni\*.txt" "%%~dpi%%~ni.txt"
[ Last edited by terse on 2008-10-16 at 17:28 ]

作者: cnxyc     时间: 2008-10-16 17:44
谢谢terse,虽然刚才在cmd的帮助里找到了答案,但还是万分感谢!!! 还得多多的学习啊,才学批处理,不懂的太多了,帮助文件还是很有用的,看的少,惭愧!!! 这个批处理是用来合并小说的^-^ 贴出完整代码: @echo off :aaa echo 请输入你要处理的目录: set/p chulidir="" if not exist "%chulidir%" goto ccc :bbb for /r "%chulidir%" %%i in (.) do copy "%%~dpni\*.txt" "%%~dpi%%~ni.txt" copy /y /v %chulidir%\*.txt "c:\转换\" del %chulidir%\*.txt start c:\转换\ echo 处理完毕! pause goto aaa :ccc echo 对不起!你输入的是错误目录或者格式不对,请重新输入!!! goto aaa 再次感谢terse大哥!!!

作者: HAT     时间: 2008-10-16 18:00    标题: Re 3楼
Good luck! And enjoy your time in CN-DOS!
批处理的教学 www.cn-dos.net/forum ... 批处理最完整人性化教程 www.cn-dos.net/forum ... 批处理新手FAQ整理 www.cn-dos.net/forum ... 中国DOS联盟批处理室经典帖子合集 www.cn-dos.net/forum ...