Windows Server 2003 の場合は、コマンドラインが異なるため、そのまま実行できないはずです。
netsh exec コマンドを使うことでも一括登録はできますが、どの行で失敗したかわからないのでこんな記述になりました。
実際に動作させる場合はサンプルコードのSVとSCOPEを任意に変更してください。
add-dhcp.bat
@ECHO OFF SET FILE=%1 SET SV=\\dhcpsv.mydomain.lan SET SCOPE=10.0.0.0 echo Load File: %FILE% echo DHCP Server: %SV% echo Scope: %SCOPE% IF EXIST %FILE% (GOTO SH_DO) ELSE GOTO SH_NOT_FOUND :SH_DO FOR /F "usebackq tokens=1,2* delims=," %%i IN (%FILE%) DO ( echo IP=%%i MAC=%%j HOST=%%k netsh Dhcp Server %SV% Scope %SCOPE% Add reservedip %%i %%j %%k "" "BOTH" ) GOTO SH_END :SH_NOT_FOUND echo %FILE% Not Found. GOTO SH_END :SH_ENDサンプルデータ test.csv
10.0.0.100,00112233ee01,client1.mydomain.lan 10.0.0.101,00112233ee02,client2.mydomain.lan