Windowsには、ちょっとした処理をやらせるのに便利なバッチファイルというのがあるが、VistaからのUAC(ユーザーアカウント制御)で困っていた点があった。 というのが、VistaでUACがONの場合にシステムフォルダのような昇格が必要なフォルダへの書き込みを行った場合、 昇格しないとカレントディレクトリは実行位置だが、書き込めない 昇格すると、カレントディレクトリが強制的にC:\Windows\System32になる という点である。 カレントディレクトリが分からないとなぜ困るかというと、カレントディレクトリにあるファイルを特定のフォルダへコピーさせるのが厄介だからである。 で、色々探してたら、いいコマンドがあった。 cd /d %~dp0 詳細部を説明していくと cdChange Directoryコマンド /d現在のドライブ名も一緒に変更する(これが無いとドライブを跨いだcdが不
![バッチファイルTips "%~dp0"](https://cdn-ak-scissors.b.st-hatena.com/image/square/66e9eed88190d229a0ee134c5fcab24cf40d99c7/height=288;version=1;width=512/https%3A%2F%2Fmo.kerosoft.com%2Fpub-dist%2Fdefault-logo.png)