当我发出此命令时:
FINDSTR /I /N "<sdk:extra>" addon.xml
输出是:
973: <sdk:extra>
995: <sdk:extra>
1017: <sdk:extra>
1036: <sdk:extra>
1057: <sdk:extra>
1078: <sdk:extra>
1098: <sdk:extra>
1118: <sdk:extra>
1140: <sdk:extra>
1161: <sdk:extra>
1182: <sdk:extra>
1203: <sdk:extra>
1223: <sdk:extra>
1244: <sdk:extra>
但是当我使用此命令将其重定向到文件时:
FINDSTR /I /N "<sdk:extra>" addon.xml > find_s.txt
find_s.txt
有 UNIX 行结尾(如果你更喜欢,可以是换行符或 EOL)。
有人知道为什么吗?我需要一个 DOS 行结尾,否则它会破坏整个批处理。
如何在 Windows 批处理中将文件从 UNIX 转换为 DOS 行尾?
(无需使用外部二进制文件或 powershell)(.js 和 .vbs 都可以)
答案1
TTT 是正确的,您的文件应该是 unix 格式。如果您不介意顺序,您可以先将输出传送到 sort。否则需要另一个实用程序。
FINDSTR /I /N "<sdk:extra>" addon.xml | sort > find_s.txt
答案2
如果你在 bat 文件中,你可以
del find_s_dos.txt
for /f "delims=" %%i in (find_s.txt) do @echo %%i>>find_s_dos.txt