我有一个自动生成的ini文件。
它的第二行始终是:
Version = W.XX.Y.ZZ
其中,W
是主版本号,XX
是次版本号,Y
是Build,ZZ
是Revision。
我需要使用批处理文件打开该ini文件并编辑该行,以便从该版本中删除构建和修订号。因此,该行应该最终变成这样:
Version = W.XX
主要版本号始终为一个字符,次要版本号始终为两个字符,因此整个字符串长度为14个字符(包括空格)。
我希望能够获取该行左侧14个字符的字符串,并用该字符串替换该行。
我有一个自动生成的ini文件。
它的第二行始终是:
Version = W.XX.Y.ZZ
其中,W
是主版本号,XX
是次版本号,Y
是Build,ZZ
是Revision。
我需要使用批处理文件打开该ini文件并编辑该行,以便从该版本中删除构建和修订号。因此,该行应该最终变成这样:
Version = W.XX
主要版本号始终为一个字符,次要版本号始终为两个字符,因此整个字符串长度为14个字符(包括空格)。
我希望能够获取该行左侧14个字符的字符串,并用该字符串替换该行。
%var:~,14%
以下代码将对包含字符串“Version”的每行执行“LEFT 14”操作。setlocal enabledelayedexpansion
del output.ini
for /f "tokens=*" %%a in (input.ini) do (
set var=%%a
if not {!var!}=={!var:Version=!} set var=!var:~,14!
echo.!var! >> output.ini
)
endlocal
setlocal enabledelayedexpansion
del output.ini
set counter=0
for /f "tokens=*" %%a in (input.ini) do (
set var=%%a
set /a counter=!counter!+1
if !counter! EQU 2 set var=!var:~,14!
echo.!var! >> output.ini
)
endlocal
set /a RyanBemroseVotes+=1
。 - Andriy M