hoge.iniファイルに設定したパスワード(ADMIN_PASS)に「!」を設定すると読み飛ばされてしまうのですが、何か回避策はありますでしょうか。
※こちらで調べたところ、batファイルの特殊記号は「^」を前につけるという記述を見つけたのですが、「^」をつけても結果は同じでした。
[hoge.ini]
ADMIN_USER=admin
ADMIN_PASS=admin!!!admin
DOMAIN_NAME=hoge-domain.local
[hoge.bat]
FOR /F "eol=; tokens=1,2 delims==" %%I IN (.\hoge.ini) DO (SET %%I=%%J)
echo /user=%ADMIN_USER% /pwd=%ADMIN_PASS% /domain=%DOMAIN_NAME%
pause
以上、よろしくお願いします。
こちら (Windows XP Pro) では
/user=admin /pwd=admin!!!admin /domain=hoge-domain.local
と hoge.bat は問題無く動作しました。
オラクルに!入りパスワードをオプションで渡す時に問題が生じるのであれば、
hoge.bat ファイルで
/user=%ADMIN_USER% /pwd='%ADMIN_PASS%' /domain=%DOMAIN_NAME%
と ' で括ってみてはどうでしょう。
確かに、XPで実行すると問題なく実行されますね。実際に実行するのは、Windows2003serverなので、
環境の違いで発生しているようです。