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 に答える