setlocal call :"%1" endlocal exit /b :"install" powershell "start-process -FilePath 'cmd.exe' -ArgumentList ('/s /c '+[char]34+((get-wmiobject win32_networkconnection | %%{ 'net use '+$_.LocalName+' '+[char]34+$_.RemoteName+[char]34 }) -join ' & ') + ' & ' + [char]34 + '%~dpnx0' + [char]34 + ' _install' + [char]34) -verb 'runas'" exit /b :"_install" cd /D "%~dp0" pause exit /b
ユーザは make install
を実行する。UAC ダイアログが表示されるので「はい」を選択すると、管理者モードで :"_install"
ラベル以降が実行される。この時、通常モードのドライブレターは管理者モードでも継承されている。