バッチファイルを作成するバッチを作成しています。
スペースや”を含む文字列の扱いに苦戦しております。
■作りたいバッチ: uninstal.bat
call "C:\Program Files\Common Files\Microsoft Shared\OFFICE14\Office Setup Controller\setup.exe" /uninstall SHAREPOINTDESIGNER /dll OSETUP.DLL"
■バッチを作成するバッチ
set CMDcal=call
set CMDdir=C:\Program Files\Common Files\Microsoft Shared\OFFICE14\Office Setup Controller\setup.exe
set CMDopt=" /uninstall SHAREPOINTDESIGNER /dll OSETUP.DLL" ※修正しました
set CMDstr=%CMDcal%"%CMDdir%"
set StrOpt=%CMDopt% ※修正しました
set TEMP=%CMDstr%%StrOpt%
REM echo %CMDstr%>>uninstall_.bat ※不要でした
echo %TEMP%>>uninstall_.bat
この処理では、どうしても下記の結果のように
~~setup.exe"" 部分で ダブルクォーテーションが余分にできてしまいます。
call "C:\Program Files\Common Files\Microsoft Shared\OFFICE14\Office Setup Controller\setup.exe"" /uninstall SHAREPOINTDESIGNER /dll OSETUP.DLL"
set TEMP=%CMDstr%%StrOpt:~1% などで逃がそうとしてもうまく動作できません。
どのような書き方をすれば理想の形になるでしょうか?
この後に、下記コードを入れて
管理者モードでバッチを動かすために、このような方法を取っております。
powershell.exe -Command Start-Process """"uninstall_.bat"""" -Verb Runas
回答1件
あなたの回答
tips
プレビュー