脚本:
@echo offfor /f "delims=" %%i in ("%cd%") do ( if exist %%~ni.txt del %%~ni.txt :* 有问题. for %%a in (*.txt) do type "%%a">>"%%~ni.txt")
上面版本有一个问题。例如,如果当前目录名为5,本来有1.txt,2.txt,3.txt三个文本,所得到的5.txt将是原本3个文本内容的两份长度。猜想是由于上述“有问题”的那个语句,是按txt文件名顺序执行的。因为5.txt排序在原本三个文本之后,执行完原本三个txt 写入命令,当前目录下已然生成有5.txt,“有问题”语句将5.txt也写入新的5.txt,照成内容的重复。
修订脚本:
@echo offfor /f "delims=" %%i in ("%cd%") do ( if exist %%~ni.txt del %%~ni.txt
:*修改后的语句 for /f "delims=" %%a in ('dir /b *.txt') do type "%%a">>"%%~ni.txt")
没有评论:
发表评论