批处理修改ini文件的特定[]下的busno参数,支持键盘
时间: 2024-03-08 07:48:13 浏览: 19
您可以使用以下批处理代码来修改INI文件中特定[]下的busno参数:
```
@echo off
setlocal enabledelayedexpansion
set /p busno=Enter the new busno value:
for /f "tokens=*" %%a in ('type config.ini ^| find /n "[section]"') do (
set "line=%%a"
set "line=!line:*]=!"
if defined section (
echo !line!|findstr /r /c:"^busno=" >nul && (
set "line=busno=!busno!"
)
echo(!line!)>>config.tmp
)
set "section="
echo !line!|findstr /r /c:"^\[[^]]*\]$" >nul && set "section=!line!"
)
move /y config.tmp config.ini
```
这段代码会提示您输入新的busno值,并将其用于INI文件中指定的[section]下的busno参数。您需要将脚本中的“config.ini”替换为您的INI文件名,并将“[section]”替换为您要修改的节的名称。
相关问题
批处理修改ini文件的某个[]下的busno参数,支持键盘
您可以使用以下批处理代码来修改INI文件中某个`[]`下的`busno`参数,并支持键盘输入:
```
@echo off
set /p section="请输入要修改的部分名:"
set value=
set /p value="请输入新的参数值:"
set file="C:\path\to\file.ini"
setlocal enabledelayedexpansion
set found=0
for /f "usebackq delims=" %%a in (%file%) do (
set line=%%a
if "!line:~0,1!"=="[" (
set current_section=!line:~1,-1!
if /i "!current_section!"=="!section!" (
set found=1
) else (
set found=0
)
)
if !found!==1 (
for /f "tokens=1,* delims==" %%b in ("!line!") do (
if /i "%%b"=="busno" (
set line=%%b=!value!
)
)
)
echo !line! >> %file%.new
)
move /y %file%.new %file%
```
将上述代码中的`section`变量替换为您要修改的部分名称,将`value`变量留空,它将在运行时提示您输入新的参数值,将`file`变量替换为您要修改的INI文件的完整路径和文件名。运行批处理后,它将提示您输入新的`busno`参数值,并将在INI文件中查找匹配的部分和参数,并将其替换为新值。最后,它将将修改后的INI文件保存回原始文件中。
批处理修改[posset]下的busno参数的值,支持用户键盘输入修改值
您可以使用以下代码来实现批处理修改[posset]下的busno参数的值,并支持用户键盘输入修改值:
```
@echo off
set /p busno=请输入要修改的busno值:
pushd "C:\posset"
for /f "tokens=1,* delims==" %%a in (posset.ini) do (
if "%%a"=="busno" (
echo %%a=%busno%>>temp.ini
) else (
echo %%a=%%b>>temp.ini
)
)
move /y temp.ini posset.ini
popd
echo posset.ini文件中的busno参数已修改为%busno%。
pause
```
您可以将以上代码保存为`.bat`文件,然后运行该文件即可。该代码会首先让用户输入要修改的`busno`值,然后将`posset.ini`文件中的`busno`参数值修改为用户输入的值,并输出修改后的值。