据我所知,它.bat是旧的16位命名约定,.cmd适用于32位Windows,即从NT开始.但我继续在任何地方看到.bat文件,并且它们似乎使用任一后缀完全相同.假设我的代码将永远不需要对新台币任何旧的运行,是否真的重要走哪条路我名字我的批处理文件,还是有一些疑难杂症,通过使用错误的后缀等着我?
我有一个包含以下4行的文件.
A;1;abc;<xml/>;
;2;def;<xml
>hello world</xml>;
;3;ghi;<xml/>;
Run Code Online (Sandbox Code Playgroud)
使用批处理文件,我需要组合行,如果行不以分号(;)结尾,则将下一行合并到当前行.
所以期望的输出应该是
A;1;abc;<xml/>;
;2;def;<xml>hello world</xml>;
;3;ghi;<xml/>;
Run Code Online (Sandbox Code Playgroud)
我对批处理脚本不太熟悉,但for /F到目前为止尝试使用但没有运气.
据我所知,逻辑应该是检查每一行的最后一个字符,如果它不是分号,则将下一行读入当前行.
除此之外,我设法得到了该行的最后一个字符,但是如果它没有,我的脚本只读取该行; .有任何想法吗?
@echo off
for /f "tokens=*" %%i in (myfile.txt) do (
set var=%%i
echo %%i
if "%var:~-1%"==";" (
echo test
)
)
Run Code Online (Sandbox Code Playgroud)
注意:上面的查询只读取第1行和第3行.