如何用BAT批处理定时更改指定ini文件内的指定内容?

2025-03-20 18:49:39
推荐回答(2个)
回答1:

不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI

/*&cls
@echo off
rem 每间隔一定时间将一个指定的ini文件里的指定节下的指定键的数值递增1
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set "inifile=D:\tool\config\config.ini"
set sleep=300
:loop
type "%inifile%"|cscript -nologo -e:jscript "%~f0">"%tmp%\t.t"
move /y "%tmp%\t.t" "%inifile%"
if exist "%windir%\System32\timeout.exe" (
    timeout /t %sleep% /nobreak
) else (
    set /a t=sleep+1
    >nul call ping /n %%t%% 0

goto loop
*/
var text=WSH.StdIn.ReadAll().replace(
    /(\[websocket\]\s+?port=)(\d+)/i,
    function(a,b,c){
        var d=(Number(c)+1).toString();
        WSH.StdErr.WriteLine(c+' --> '+d);
        return b+d;
    }
);
WSH.echo(text);

回答2:

@echo off&setlocal enabledelayedexpansionattrib -s -h 配置文件.inifor /f "delims=" %%a in (配置文件.ini) do ( set str=%%a set str=!str:ABCDEF=GHIJKL!&echo !str!>>1.ini)move 1.ini 配置文件.ini

请在c盘根目录下运行!