JavaScript勉強会

JavaScriptの学習日記

Windowsでフォルダの位置を指定してコマンドプロンプトを起動する方法

Windowsコマンドプロンプトを起動すると、起動直後はカレントディレクトリ(現在位置)がデフォルトのまま(C:\Windows\System32 など)になっています。

別の作業フォルダに移動するには「cd」コマンドを入力して、移動先のフォルダを手動で指定しないといけません。

毎回同じフォルダに移動する場合は面倒なので、コマンドプロンプトのカレントディレクトリを指定して起動させる方法を調べてみました。

 

バッチファイルを作る

バッチファイル - Wikipedia

バッチファイル(Batch File)とは、MS-DOSOS/2Windowsでのコマンドプロンプト(シェル)に行わせたい命令列をテキストファイルに記述したもの。

バッチファイルを実行すると、シェルプログラム(一般に COMMAND.COMやcmd.exe)がそのファイルを読み、その中のコマンドを(通常)一行ずつ実行する。

バッチファイルはUNIXオペレーティングシステムシェルスクリプトに相当する。

DOSのバッチファイルの拡張子は.BATである。

 

Windowsのバッチファイルは、コマンドを記述しておいて、起動させたら自動的に実行させるためのファイルです。

手動でたくさんの操作をする代わりに、コマンドをまとめてバッチファイルに書いておけば、全部まとめて実行させることができます。

 

それではバッチファイルを作ってみましょう。

 

デスクトップなどに「cmd_dir.bat」などという名前の空のファイルを作ります。

  • ポイントは、拡張子を「txt」ではなく「bat」(バッチ)にすることです。
  • (拡張子は、「bat」の代わりに「cmd」にしてもOKです。)

 

テキストエディターで「cmd_dir.bat」を開き、

cd 移動先のフォルダ

cmd

という2行を書いて、保存します。

 

「cmd_dir.bat」をダブルクリックすると、移動先のフォルダが現在位置になって、コマンドプロンプトが起動します。

 

(内容の解説)

 

普通にコマンドプロンプトを起動する場合

画面左下のスタートメニューから、[Windowsシステムツール] → [コマンドプロンプト] をクリックします。

 

f:id:jsstudy:20181129001233p:plain

 

すると、「C:\Windows\System32」という位置でコマンドプロンプトが起動します。

 

f:id:jsstudy:20181129001256p:plain

 

ここから「cd C:\Users\user\vagrant\ubuntu64_18」などと移動先を指定して、カレントディレクトリを移動します。

 

これをワンクリックで済ませるには、以下のようなバッチファイルを作ります。

 

フォルダを移動してコマンドプロンプトを起動する場合

適当な名前の空ファイルを作ります。拡張子を「bat」にします。

ここでは「cmd_dir.bat」というファイル名にしてみます。

 

「cmd_dir.bat」をテキストエディターで開きます。

 

移動先のフォルダが「C:\Users\user\vagrant\ubuntu64_18」である場合、以下の2行を「cmd_dir.bat」に入力して保存します。

 

cd C:\Users\user\vagrant\ubuntu64_18

cmd

 

「cmd_dir.bat」をダブルクリックすると、「C:\Users\user\vagrant\ubuntu64_18」をカレントディレクトリ(現在位置)として、コマンドプロンプトが起動します。

 

f:id:jsstudy:20181129002604p:plain

 

これでも良いのですが、バッチファイルに書いたコマンド内容が表示されていて、ちょっとウザいですね?

コマンドプロンプトを起動させたいだけなら、コマンド内容を非表示にしておきましょう。

 

バッチファイルのコマンドを表示させない場合

バッチファイルの先頭に「@echo off」という1行を追加します。

 

@echo off

cd C:\Users\user\vagrant\ubuntu64_18

cmd

 

これで「cmd_dir.bat」をダブルクリックすると、コマンドプロンプトが起動するところから表示されて、バッチファイルのコマンド内容は非表示になります。

→ちょっとだけスッキリしますね!

 

f:id:jsstudy:20181129003841p:plain

 

コマンドプロンプトを起動させた後、コマンドも実行させたい場合

例えば、「C:\Users\user\vagrant\ubuntu64_18」に移動した後、コマンドプロンプトを起動させて、そこで「vagrant up」というコマンドを手動で入力して実行させている場合、これも自動化できます。

 

バッチファイルの内容を以下のように変更します。

 

@echo off

cd C:\Users\user\vagrant\ubuntu64_18

cmd /k vagrant up

 

「cmd」に「/k」というオプションを付けて、その後に実行したいコマンドを続けます。

「cmd /k vagrant up」と記述すると、コマンドプロンプトを起動させた後に「vagrant up」というコマンドを入力して実行したのと同じ結果が得られます。

 

「cmd_dir.bat」をダブルクリックすると、「C:\Users\user\vagrant\ubuntu64_18」をカレントディレクトリ(現在位置)として、コマンドプロンプトが起動して、「vagrant up」というコマンドが実行されます。

 

f:id:jsstudy:20181129004652p:plain

 

これで、いちいち手動でコマンドを入力する手間から解放されました。

めでたし、めでたしw

 

 

参考

バッチファイルでフォルダ(ディレクトリ)を移動する(「cd」コマンド)

 

takamoritarou.g.hatena.ne.jp

 

fortrand.hatenablog.com

 

 

[改訂新版]Windowsコマンドプロンプトポケットリファレンス

[改訂新版]Windowsコマンドプロンプトポケットリファレンス