@echo offrem %0 euc2unicode in_file out_fileif "%~3"=="" @echo ERR %0 %*if "%~3"=="" goto :EOFsetlocalset res=0if "%~1"=="euc2unicode" call :euc2unicode "%~2" "%~3" & set res=1if "%~1"=="sjis2unicode" call :sjis2unicode "%~2" "%~3" & set res=1if "%~1"=="utf82unicode" call :utf82unicode "%~2" "%~3" & set res=1if "%~1"=="unicode2euc" call :unicode2euc "%~2" "%~3" & set res=1if "%~1"=="unicode2sjis" call :unicode2sjis "%~2" "%~3" & set res=1if "%~1"=="unicode2utf8" call :unicode2utf8 "%~2" "%~3" & set res=1if "%res%"=="1" goto :EOF@echo ERR %0 %*endlocalgoto :EOF:euc2unicodestart /min /wait cmd /c chcp.com 20932 ^& ^( set /p x="ÿþ"^
%2exit /b:utf82unicodestart /min /wait cmd /c chcp.com 65001 ^& ^( set /p x="ÿþ"^
@echo offrem (add) %0 "CN=user1,OU=ou1,OU=ou2,DC=dom,DC=local" 123.123.123.123rem (mod) %0 "CN=user1,OU=ou1,OU=ou2,DC=dom,DC=local" 123.123.123.123rem (del) %0 "CN=user1,OU=ou1,OU=ou2,DC=dom,DC=local"set dn="%~1"set ip=%~2if %dn%=="" (@echo ERR1 : %0 %* & pause & exit)call :chk_dn %dn%@echo dn okif "%ip%"=="" call :mode_delif not "%ip%"=="" call :mode_editgoto :EOF:mode_delcall :attr_del %dn% "msRADIUSFramedIPAddress"call :attr_del %dn% "msRASSavedFramedIPAddress"exit /b:mode_editsetlocalcall :ip2dec ip_dec %ip%echo %ip% = %ip_dec%call :attr_edit %dn% "msRADIUSFramedIPAddress" "%ip_dec%"call :attr_edit %dn% "msRASSavedFramedIPAddress" "%ip_dec%"endlocalexit /b:chk_dnldifde -u -d %1 -r "(objectClass=user)" -f out.tmp || goto :chk_err %*ldifde -u -d %1 -r "(objectClass=user)" -f out.tmp | find "1¸Ä¤Î¥¨¥ó¥È¥ê¤¬¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤Þ¤·¤¿" >NUL || goto :chk_err %*type out.tmp | find %dn% >NUL || goto :chk_err %*del out.tmpexit /b:chk_errecho ERR2 %0 %*pauseexit:attr_editsetlocalset dn="%~1"set attr="%~2"set var="%~3"call :is_exist_attr flag %dn% %attr%if "%flag%"=="0" call :create_import_file_add %dn% %attr% %var% > tmp.txtif "%flag%"=="1" call :create_import_file_modify %dn% %attr% %var% > tmp.txttype tmp.txt || pausecall conv.cmd sjis2unicode tmp.txt tmp_u.txtdel tmp.txtldifde -u -i -f tmp_u.txt || (@echo ERR3 %0 %* & pause)del tmp_u.txtendlocalexit /b:attr_delsetlocalset dn="%~1"set attr="%~2"call :is_exist_attr flag %dn% %attr%if "%flag%"=="0" exit /bif "%flag%"=="1" call :create_import_file_delete %dn% %attr% > tmp.txttype tmp.txt || pausecall conv.cmd sjis2unicode tmp.txt tmp_u.txtdel tmp.txtldifde -u -i -f tmp_u.txt || (@echo ERR4 %0 %* & pause)del tmp_u.txtendlocalexit /b:create_import_file_add@echo offif "%~3"=="" (@echo ERR5 %0 %* & pause)echo.|set /p x=dn: %~1echo.echo.|set /p x=changetype: modifyecho.echo.|set /p x=add: %~2echo.echo.|set /p x=%~2: %~3echo.echo.|set /p x=-echo.exit /b:create_import_file_modify@echo offif "%~3"=="" (@echo ERR6 %0 %* & pause)echo.|set /p x=dn: %~1echo.echo.|set /p x=changetype: modifyecho.echo.|set /p x=replace: %~2echo.echo.|set /p x=%~2: %~3echo.echo.|set /p x=-echo.exit /b:create_import_file_delete@echo offif "%~2"=="" (@echo ERR7 %0 %* & pause)echo.|set /p x=dn: %~1echo.echo.|set /p x=changetype: modifyecho.echo.|set /p x=delete: %~2echo.echo.|set /p x=-echo.exit /b:is_exist_attrsetlocalset res=0set dn=%2set attr=%3ldifde -u -d %dn% -l %attr% -f out.tmp >NULtype out.tmp | find %attr% >NUL && set res=1del out.tmpendlocal & set %1=%res%exit /b:hex2decrem call :hex2dec var ffffffffecho.|set /p x=Wscript.Echo ^^^&H%~2>tmp.vbsecho.>>tmp.vbsfor /f "usebackq delims=" %%a in (`cscript //nologo tmp.vbs`) do set %1=%%adel tmp.vbsexit /b:dec2hexrem call :dec2hex var 123456echo.|set /p x=Wscript.Echo Hex(%~2)>tmp.vbsecho.>>tmp.vbsfor /f "usebackq delims=" %%a in (`cscript //nologo tmp.vbs`) do set %1=%%adel tmp.vbsexit /b:format_decrem call :%0 var 4 99 -> var=0099setlocalset x=00000000000000000000000000000000000000000000000000%3rem call echo %%x:~-^%2%%call set ans=%%x:~-^%2%%endlocal & set %1=%ans%exit /b:split_ip4rem call %0 var1 var2 var3 var4 123.123.123.123for /f "tokens=1,2,3,4 delims=." %%a in ("%~5") do set %1=%%a & set%2=%%b & set %3=%%c & set %4=%%dexit /b:ip2decsetlocalrem call %0 var 10.1.0.255set ip=%~2call :split_ip4 var1 var2 var3 var4 %ip%rem echo %var1% %var2% %var3% %var4%call :dec2hex hvar1 %var1%call :dec2hex hvar2 %var2%call :dec2hex hvar3 %var3%call :dec2hex hvar4 %var4%rem echo %hvar1% %hvar2% %hvar3% %hvar4%call :format_dec hvar1 2 %hvar1%call :format_dec hvar2 2 %hvar2%call :format_dec hvar3 2 %hvar3%call :format_dec hvar4 2 %hvar4%rem echo %hvar1% %hvar2% %hvar3% %hvar4%call :hex2dec var %hvar1%%hvar2%%hvar3%%hvar4%rem echo %var%endlocal & set %1=%var%exit /b
ldifde -u -d "CN=user01,OU=ou1,OU=ou2,DC=neko,DC=local" -f out.txt
°À¤ÎÊѹ¹dn: CN=user01,OU=ou1,OU=ou2,DC=neko,DC=localchangetype: modifyreplace: testtest: xxx-°À¤ÎÄɲÃdn: CN=user01,OU=ou1,OU=ou2,DC=neko,DC=localchangetype: modifyadd: testtest: xxx-°À¤Îºï½üdn: CN=user01,OU=ou1,OU=ou2,DC=neko,DC=localchangetype: modifydelete: test-