週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

リストアップされた名前のフォルダーをいっきに作る方法

2010年02月23日 20時07分更新

バッチファイルでフォルダー作成

 上図のような名前のリストがあって、これらの名前のフォルダーを作らなくちゃいけなくなったとしましょう。1個1個、新規作成して名前を変更して、ということをリストの個数分だけやってたら大変なわけです。5個10個ならまだしも100個とかあったら泣く以外になにができようか。いやできはしない。

 普通の人の人生の中で、そんなシチュエーションがあるのか、はなはだ疑問ではありますが、私はつい先日、仕事でそんなことをする必要があったので、簡単にできる方法はないのか考えてみました。

 で、思いついたのが次の方法。

1.フォルダー名一覧をテキストファイルで用意。ここでは仮に“list.txt”とする。

バッチファイルでフォルダー作成
↑このテキストファイルの中身は、最初の図にあるテキスト。

2.メモ帳などテキストエディターで、以下のように書き、“makefolders.bat”という名前で保存。“makefolders”の部分はなんでもいいが、拡張子を“.bat”にすること。拡張子を表示しない設定(ウィンドウズをインストールしたときの標準設定)にしている場合は注意。

for /f %%a in (%1) do md %%a

バッチファイルでフォルダー作成
↑大文字小文字もこの通りに。

 アイコンが以下のように変わっていれば大丈夫。このように拡張子が“.bat”のファイルのことを“バッチファイル”と言う。

バッチファイルでフォルダー作成

 上記の中身の詳細については省略するが、“コマンドプロンプト バッチファイル”などでググるといろいろ解説ページが見つかるので参考に。
http://www.google.co.jp /search?hl=ja&q="コマンドプロンプト バッチファイル"

3.list.txt” を“makefolders.bat”の上にドラッグ・アンド・ドロップ。

バッチファイルでフォルダー作成
↑“list.txt”をバッチファイルの上に重ねると“+makefolders.batで開く”と表示される。まるでアプリケーションソフトみたいだ。

4.これだけ! ほぼ一瞬で、“list.txt”に記された一覧通りのフォルダーが作成される。

バッチファイルでフォルダー作成
↑この画面の例では、ドラッグ・アンド・ドロップしてから1秒以内にこのようになった。


注:
・list.txtに記すフォルダー名は、1行に1つずつ。
・途中に空白を含むフォルダーはできないっぽい。“_(アンダーバー)”でつなげるなどで対処する。
例)Weekly Ascii → Weekly_Ascii
・以下の文字をフォルダー名に含めることができない。
  / : * ? " < > |
 上記に加え以下の文字はコマンドプロンプトで特殊な意味をもつため、フォルダー名に含めることはできるが、今回のバッチファイルでは異常な動きをする可能性がある。
 ( ) & @ ^
 上記の文字を使うことは避け、別の文字で置き換えるなどしたほうがいい。
・同じフォルダー名が複数あった場合は、たんにひとつだけ作成される。
 

 

目的は果たしたので以下は余談。

 リストからフォルダーを作るのではなく、逆にすでに存在するフォルダーの一覧をテキストファイルにする場合。こちらのほうが、実用性は高いかも。

バッチファイルでフォルダー作成
↑このようなフォルダーがあったとして、その一覧を作りたいとき。

1.次のようなテキストファイルを作り、“makelist.bat”という名前で、リストを作りたいフォルダーがあるところに保存。

dir /ad /b > folderslist.txt

バッチファイルでフォルダー作成
↑この場合は、大文字小文字は関係ない(どっちでもいい)が、なるべくこの通りに入力。


2.いま作った、“malelist.bat”をダブルクリック。同じフォルダー内に“folderslist.txt”というファイルができる。

バッチファイルでフォルダー作成
↑“folderslist.txt”というファイルができた。
バッチファイルでフォルダー作成
↑“folderslist.txt”の中身は、もちろん、このフォルダー内のフォルダー一覧。

フォルダー一覧ではなく、ファイル一覧を作りたい場合は、“makelist.bat”の中身を以下のようにする。

dir /a-d /b > fileslist.txt


 なお、今回作ったバッチファイルは、どれも1行しかないので、もしコマンドプロンプトに抵抗がなければ、そちらで入力してもオッケー。

1.フォルダーを作りたい場所に、フォルダー名の一覧である“list.txt”を置き、そのフォルダーの何もないところでshiftキーを押しながら右クリックして“コマンドウィンドウをここで開く”を選択。
 ただし、なぜか“ドキュメントライブラリ”内だと“コマンドウィンドウをここで開く”メニューが表示されないっぽい。ので、デスクトップなどほかの場所を使用する。

バッチファイルでフォルダー作成
↑shiftキーを押しながら右クリックで“コマンドウィンドウをここで開く”というメニューが現われる。

2.バッチファイルの内容を以下のように修正を加えて入力。

for /f %a in (list.txt) do md %a

%%aの%がひとつになっているところに注意。また、%1だったところに、一覧を収めたファイルのファイル名“list.txt”を指定。
 

バッチファイルでフォルダー作成
↑入力するのは for 以降。大文字小文字もこの通りに。


3.Enterキーを押すと、みごとそのフォルダー内に新しいフォルダーがずらっと作られる。

4.コマンドプロンプトを終了するときは、exitと入力。


 同様に、フォルダー内のファイル一覧を作りたいときは、

dir /a-d /b > folderslist.txt

 と入力してEnterキーを押すと、ファイル一覧を収めた“fileslist.txt”というテキストファイルができる。


※この内容に関するご意見、ご感想、バッチファイルの中身についての質問などは、週アスコミュニティーの Windows7の部屋、「週アスブログ記事コメントスレ」にどうぞ。

 


 

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう