Windowsのmkdirコマンドでフォルダ作成をする
みなさんはWindowsでフォルダ作成をするときはエクスプローラーからフォルダ作成をしていましょうでしょうか?
![エクスプローラーから右クリックでフォルダ作成](http://cdn2.aprico-media.com/production/imgs/images/000/033/230/original.png?1558624086)
![コマンドプロンプト](http://cdn2.aprico-media.com/production/imgs/images/000/033/231/original.png?1558624216)
コマンドプロンプトからmkdirを使うメリット
コマンドプロンプトを開きmkdirからフォルダを作るメリットとしては、
- 複数フォルダを同時に作成
- 大量のフォルダを作成
今回はWindowsのmkdirコマンドについてその使い方と、大量のフォルダをmkdirで作成する方法、自動で今日の日付のフォルダを作成する方法をご紹介します。
Windowsのmkdirコマンド
それではまずWindowsのmkdirコマンドの使い方をご紹介していきます。
まずはコマンドプロンプトを起動しましょう。
![Windowsのスタートメニューの検索バーに「cmd」と入力](http://cdn2.aprico-media.com/production/imgs/images/000/033/224/original.png?1558621985)
すると検索結果に「コマンドプロンプト」が表示されますので、クリックして起動しましょう。
その他コマンドプロンプトの開き方はいくつかあります。興味ある方は下記の記事を参考にしてみましょう。
mkdirコマンドの基本
![mkdir実行例](http://cdn2.aprico-media.com/production/imgs/images/000/033/225/original.png?1558622234)
mkdirと打った後に半角スペースをあけ、フォルダ名を指定します。これで指定したフォルダ名でフォルダが作成されます。
mkdirを実行したあとは、エラーの場合にはエラーメッセージが表示されますが、成功した場合は何もメッセージは表示されませんのでご注意下さい。
絶対パスと相対パス
mkdirの基本的な使い方は「mkdir フォルダ名」と述べましたが、正確には絶対パスと相対パスを指定することが出来ます。
絶対パス
絶対パスとはWindowsであればCドライブを起点としてフォルダは階層構造となっていますが、Cドライブを表す「C:」から作成するフォルダでのパス(階層構造を辿る道筋)をすべて記述する書き方です。
[絶対パス例]
例えばPicturesフォルダの中の、Screenshotsフォルダの中の、sampleという名前のフォルダを指定するには下記のように記述します。
C:¥Users¥suzuki¥Pictures¥Screenshots¥sample
![絶対パスの図](http://cdn2.aprico-media.com/production/imgs/images/000/033/226/original.png?1558623401)
つまり「¥」は「フォルダの中の」という意味合いになります。
相対パス
一方で相対パスは何かと言いますと、特定のフォルダから見た相対的な位置情報を表す書き方です。
![相対パスの例](http://cdn2.aprico-media.com/production/imgs/images/000/033/228/original.png?1558623597)
[相対パス例1]
sample2
または
.¥sample2
となります。「.」は現在の起点となっているフォルダを表します。「.」を省略すると現在いるフォルダを起点とします。
![相対パス: 親フォルダから別フォルダの指定](http://cdn2.aprico-media.com/production/imgs/images/000/033/229/original.png?1558623801)
[相対パス例2]
..¥sample3
となります。「..」は親フォルダを表します。
改めてmkdirの構文
絶対パスと相対パスを説明してきましたが、改めてmkdirの構文を解説します。
mkdirの基本的な使い方は
mkdir 作成するフォルダの絶対パス
または
mkdir 作成するフォルダの相対パス
となります。
Windowsのmkdirコマンドのオプション
Linuxにもmkdirコマンドがあり、そちらには様々なオプションがありますが、Windowsのコマンドプロンプトから使えるmkdirコマンドにはそのようなオプションがついていません。
しかしフォルダを作成できるという本質はかわりませんので、ぜひmkdirコマンドを有効利用しましょう。
Windowsのmkdirコマンドで大量のフォルダ作成をする方法
それでは実践的なmkdirの使い方として最初は大量のフォルダを一気に作成する方法をご紹介します。
フォルダ名の一覧の作成
大量にフォルダを作成したい対象のフォルダの中で、フォルダ名の一覧ファイルを作成します。
![メモ帳で作成したいフォルダ名の一覧を改行を入れて、大量に用意](http://cdn2.aprico-media.com/production/imgs/images/000/033/232/original.png?1558624647)
バッチファイル作成
次にフォルダ名の一覧のファイルを認識し、mkdirコマンドで一括でフォルダ作成するバッチファイルを用意します。
こちらも作成する場所は先程のファイル名の一覧ファイルと同じ場所です。
mkdir.datというファイルを作成し、メモ帳で開き下記のプログラムをコピペしましょう。
@echo off pushd %~dp0 for /f %%i in (names.txt) do mkdir %%i exit
![フォルダ名一覧とバッチファイル](http://cdn2.aprico-media.com/production/imgs/images/000/033/234/original.png?1558625447)
バッチの実行
ではバッチファイルをエクスプローラーからダブルクリックして実行してみましょう。
![フォルダが大量に作成](http://cdn2.aprico-media.com/production/imgs/images/000/033/235/original.png?1558625496)
もしも上手くいかない方は
- バッチファイルの中身は合っているか
- バッチファイルの拡張子は「.bat」になっているか
今日の日付のフォルダをmkdirで作成する方法
コマンドプロンプト上で、今日の日付のフォルダを作成する簡単な方法があります。コマンドプロンプト上で%DATE%で今日の日付が取れますが、mkdirコマンドを含めた処理を、バッチファイルにすると便利です。
以下をコピペして「mkdir_today.bat」を作成しましょう。
Set TODAY=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2% mkdir %TODAY%
![フォルダ名が日付のYYYYMMDDの形式のフォルダが作成](http://cdn2.aprico-media.com/production/imgs/images/000/033/236/original.png?1558626188)
もちろん明日には明日の日付のフォルダ名が作成されます。