我有一个Sample.txt
文件,其内容为:
Hi How Are You?
使用批处理文件,我必须在每个空格后垂直分割单词。输出应该是这样的:
Hi How Are You?
答案 0 :(得分:0)
for /f "delims=" %%a in (sample.txt) do (
for %%b in (%%a) do (
echo %%b
)
)
第一个(外部)for
处理文件中的每一行,第二个(内部)for
处理该行中的每个单词。
答案 1 :(得分:0)
您可以使用以下命令将文件读入变量:
< "Sample.txt" set /P LINE=""
或者,如果该行超过1021字节(!),则使用:
for /F usebackq^ delims^=^ eol^= %%L in ("Sample.txt") do (
set "LINE=%%L"
)
然后你可以用换行符替换每个 SPACE ,如下所示:
setlocal EnableDelayedExpansion
echo(!LINE: =^
!
endlocal
或者,首先在变量中存储换行符,如下所示:
(set LF=^
)
setlocal EnableDelayedExpansion
echo(!LINE: =^%LF%%LF%!
endlocal
上述每个代码变量中的空行是必需的,以便在输出中获得换行符。用户this answer参考jeb了解此新线黑客的工作原理。
我在这里使用delayed expansion是为了避免使用特殊字符时出现问题。