11/10/07 21:51:38.52
@echo on
setlocal disabledelayedexpansion
set DNAME="[あ&あ] a&a (甲&乙)"
echo %DNAME%|find "(" 1>nul
if errorlevel 1 ( set DTITLE=%DNAME%
) else ( call :DEL_GENRE )
echo %DTITLE%|find "]" 1>nul
if not errorlevel 1 ( set DTITLE="%DTITLE:*]=%
)
call :DEL_SPACE
echo %DTITLE%
pause
exit /b
:DEL_GENRE
set DGENRE="%DNAME:*(=%
set DGENRE=%DGENRE:&=^&%
call set DTITLE=%%DNAME:%DGENRE:~1,-1%=%%
set DTITLE=%DTITLE:~0,-2%"
exit /b
:DEL_SPACE
rem DTITLE前後の空白文字削除処理
exit /b
"[あ&あ] a&a 甲&乙)" も "[あ&あ a&a (甲&乙)" も大丈夫だが "[あ&あ a&a 甲&乙)" は失敗する
"[あ&あ a&a 甲&乙" だと大丈夫だから ")" のみだとマズいのかも。よくわからん