標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

C:\Program Files へファイルをコピーするバッチファイルの作り方

一般ユーザでは C:\Program Files 以下へファイルをコピーすることはできないので、管理者権限で自分自身を起動しなおすようにする。

make.cmd

setlocal
set "EXE=%~dp0\bin\Release\HogeHoge.exe"
call :"%1"
endlocal
exit /b

:"install"
    powershell Start-Process "%~dpnx0 install_" -verb runas
    exit /b

:"install_"
    copy "%EXE%" "C:\Program Files\nyaosorg\."
    copy "%EXE:.exe=.ini%" "C:\Program Files\nyaosorg\."
    pause
    exit /b

make install とタイプすると、UACダイアログが表示されるので、はい(Y)を選ぶと、管理者権限で目的のファイルを C:\Program Files\nyaosorg 以下へコピーしてくれる。

%~dp0 とか %EXE:exe=.ini% などは環境変数の置換で、これらは cmd /hcmd /c set /?cmd /c for /? などでガイドが出てくるので、そちらを参照いただきたい(つきはなし)