0

我有一个配置文件,该文件就像 mach.conf

Machine_IP = <IP Address>
Machine_Name = <Machine name>
User_Name = <UID>
ERRORCODE = 8000
..

同样地。我是 Windows 批处理脚本的新手,尽管我在互联网上阅读了有关批处理脚本的内容并且能够理解和编写简单的批处理脚本。但是我找不到使用批处理脚本处理文件的地方,比如如果我看到 ERRORCODE = 8000 进行更改并将 8000 替换为 8001,我想读取配置文件。

如何使用批处理脚本来做到这一点。请给我链接或一些提示。

谢谢...

4

1 回答 1

1

我添加了一些可能不是必需的代码,但允许程序操作未引用的<>。它所做的只是在它们前面加上一个^,所以<变成^<并且>变成^>

@echo off
 setlocal enabledelayedexpansion
 if exist config.tmp del config.tmp
 for /f "tokens=1* delims== " %%x in (config.cnf) do call :processFile "%%x" "%%y"
 move config.tmp config.cnf > nul
 echo File Updated
 endlocal
goto :eof

:processFile
 set "Var=%~1"
 set "Val=%~2"

 :: Add Escape Code to the greater-than and less-than symbols so they don't
 :: act as pipes and create errors.
 set "Var=%Var:<=^<%"
 set "Var=%Var:>=^>%"
 set "Val=%Val:<=^<%"
 set "Val=%Val:>=^>%"

 if "%Var%"=="ERRORCODE" set /a Val=%Val% + 1

 echo %Var% = %Val%>> config.tmp
于 2012-08-29T03:29:24.920 回答