高森太郎のノート

このページについて

このページは、高森太郎がノート的に何でも書くページです。
主に勉強したこと、自分が知った知識や方法などを中心に、適当に、メモ的に、書き留めてます。

 | 

2016年10月08日 (土曜日)

[]コマンドプロンプトを任意のフォルダをカレントディレクトリにして開始するには コマンドプロンプトを任意のフォルダをカレントディレクトリにして開始するには - 高森太郎のノート を含むブックマーク はてなブックマーク - コマンドプロンプトを任意のフォルダをカレントディレクトリにして開始するには - 高森太郎のノート Add Star

背景

コマンドラインアプリケーション用のファイルを特定のフォルダに突っ込んであって、そこからの状態でスタートしたい、と言う時がある。

コマンドプロンプトを起動すると、すでにそのフォルダのプロンプト(例:C:\hoge\fuga\> )が出た状態で開くという事だ。

これ実はかなり簡単にできるんだが、微妙にやり方を忘れるのでメモ。

やり方

まずコマンドプロンプトのショートカットを作る。

次に、エクスプローラを開き、目的のフォルダのフォルダのファイルパスをコピーしたら、それをそのショートカットのプロパティ「作業フォルダ」欄に入れる。

ショートカットは作成するとそのプログラムが入っている場所が作業フォルダになっているが、こうすることでいきなりその場所からスタートできる。

パスや環境変数が通った状態のコマンドプロンプトを呼び出したい

システムの環境変数に書き込むほどじゃないのだが、そのセッションだけに変数が入った状態でコマンドプロンプトを出したいと言う場合がある。また、コマンドプロンプトで作業を開始する前に特定の作業をやらせてから入りたいという場合もあるだろう。

コマンドプロンプトを開いてからバッチファイルを実行しても良いのだが、いきなり起動する方法もある。

この場合は、簡単なバッチファイルを作る。キーワードは二つ。

コマンド説明
cd /d %~dp0バッチファイルが保存されているディレクトリにカレントディレクトリを移す
cmd.exe /Kコマンドプロンプトを呼び出す。本来は/K スイッチはその後にコマンドを記述するのだが、何も指定しないとそのまま空になる。
バッチファイルの最後にexitの代わりにかけば、バッチファイルの内容が終了してもコマンドプロンプトのウインドウが残る

と言う事で、cd /d %~dp0を含むパスを通すとかそういう内容を書いたバッチファイルを作り、最後をcmd.exe /Kで終わらせると、バッチファイルの内容を実行した後で、バッチファイルが存在するディレクトリのコマンドプロンプトが開いたまま残る。

さらにこれらを組み合わせて、前記のショートカットの cmd.exe に続き 引数でバッチファイルを絶対参照で渡しつつ「作業フォルダ」を任意に設定すると言う方法もある。

何に使うの?

ffmpegのディレクトリへのパスと、よく使う引数をあらかじめ変数で仕込んだ上でコマンドプロンプトを開くバッチファイルを作っておき、変換させる、とか、GUIは返って効率悪いけど、手打ちでやるのもなあ、と言う作業をちょっとずつ楽にできる。

 | 
ページの一番上へ