@echo off set tempf="tempFileDeleteMe.tmp" if "%*" == "" ( echo 引数なし set s= goto owari ) rem 引数をURLエンコード =16進=16進=16進...って感じで入ってる rem -e EUC コードを出力する。 rem -s Shift_JIS コードを出力する。 rem -w UTF8 コードを出力する。 (BOM 無し) echo %* | nkf.exe -wMQ >%tempf% rem tempの内容をすべて変数にひろう "%%i"は%%iだとダメ あとサブルーチンも必須 set w= for /f "usebackq" %%i in (%tempf%) do call :func "%%i" rem =を%に置換(ふつうに%w:^==%%%とかではむりっぽい) /fなしforは、=がデフォルトで区切り文字になってる set s= for %%i in (%w%) do call :parfunc "%%i" rem wの先頭が=でければ、余計な頭の%をけずる///////////////////////////////// if "%w:~0,1%" == "=" ( rem けずらない ) else ( rem 1文字目の%をけずる set s=%s:~1% ) :owari rem echo %s% start "" "http://www.baidu.jp/s?ie=utf-8&wd=%s%" del %tempf% exit /b :func set w=%w%%~1 exit /b :parfunc set s=%s%%%%~1 exit /b