以下代码列出了文件'目录中的名称:
for /f %%a in ('dir /b D:\folder\*.xml') do (
echo %%a >> lines.txt
)
结果是(包括行号):
1 86002_2014_1.xml
2 86014_2014_1.xml
3 86014_2014_2.xml
4 86016_2014_1.xml
5 86017_2014_1.xml
6
我总是在Batch ...
的任何输出TXT文件末尾都有一个空行有没有办法在没有这行的情况下获得一个干净的文件?
答案 0 :(得分:1)
您的命令输出会生成一组行,所有行都以CRLF对结束。这是正常的行为。 ....text...0x0D0x0A
,Windows中的标准行终止。
所以,在你的情况下,如果还有另一条线只是一个观点。但是,对于你来说,不需要最后一个CRLF,有必要丢弃所有行(<nul set /p ".=text"
)中的结束CRLF并将其转换为起始CRLF(echo(
)
set "first="
<nul (for /f "delims=" %%a in ('dir /b D:\folder\*.xml') do (
if defined first (echo() else (set "first=1")
set /p ".=%%a"
)) > lines.txt