AppleサポートAppおよびYouTubeチャンネルのお知らせ

* iOS向けAppleサポートAppのバージョン5.6.1が公開されました。

YouTube - Apple Japanチャンネルで有用なヒントや使い方を配信中です。

コミュニティでの投票方法と通知設定

コミュニティでの投票方法や通知の設定方法に関する記事を公開しました。

Apple Account(Apple ID)の不正利用を確認する方法

Apple Accountに関するよくある質問についてはこちらのページを、また不正利用を確認する方法についてはこちらのドキュメントをご参照ください。

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

エディタ上のリストを元に複数のフォルダを自動で生成する方法は?

仮に(例えばエディタ上に)以下のような名簿などのリストが複数(例えば100項目)あったとします。


ABC1111-山田太郎

ABC1112-小林花子

ABC1113-織田信長

ABC1114-豊臣秀吉




これらの項目ごとに独立したフォルダを作りたい場合に(要するに、これらの個人別にファイルを保存するフォルダを作りたい場合に)、事前にこのようなリストができていたときに、そのまま自動でそれらをフォルダの項目名として新規フォルダを作成する方法はないのでしょうか?


いちいち手動で新規フォルダを作成して、そこに一覧からコピペを繰り返すのは煩雑ですし、間違いの元です。


自分で Apple Script を書くしかないのかしら...?

--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]

MacBook Pro, Mac OS X (10.6.2), 17" Intel Core 2 Duo T7600/2.33 GH

投稿日 2010/02/09 10:54

返信
返信: 39

2010/02/09 11:11 macharumagedon への返信

macharumagedon さんによる書き込み:



ファイルメーカーでは駄目でしょうか。



FileMaker にフォルダを自動作製する機能があったのですか!?


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]

2010/02/09 11:43 しい坊 への返信

これらの項目ごとに独立したフォルダを作りたい場合に(要するに、これらの個人別にファイルを保存するフォルダを作りたい場合に)、事前にこのようなリストができていたときに、そのまま自動でそれらをフォルダの項目名として新規フォルダを作成する方法はないのでしょうか?

あるかといわれれば、スクリプトを書けば、可能です。

汎用のユーティリティがあるかどうかは存じません。

ターミナル上での作業を厭わないということでしたら、例えば、以下のようなperlスクリプトを書いて実行すれば、お望みのことはできます。

(私はperl派なので、他のスクリプトは書けません ^_^;;)


------ 以下の内容を、utf-8/LFのテキスト形式で保存...ファイル名 mkfolders.pl 保存場所は、フォルダを作成したい親フォルダの場所

#!/usr/bin/perl

while(<>) {

chop;

print "Making a folder $_...\n";

mkdir();

}

------


フォルダ名のリストのファイルも、スクリプト同様に utf-8/LFのテキスト形式で、同じ場所に保存...ファイル名 folders_list.txt


ターミナルを起動し、親フォルダへ移動

例えば、デスクトップ上のmeiboフォルダであれば、

cd ~/Desktop/meibo

Finderでフォルダをコピーして、ターミナル上でペーストすればパス名が入るので、その方が多くの場合便利。


以下のコマンドを実行して、スクリプトを実行可能に。

chmod 700 mkfolders.pl


./mkfolders.pl <folders_list.txt

を実行して、フォルダ作成。

2010/02/09 11:57 Hit-C への返信

Hit-C さんによる書き込み:


あるかといわれれば、スクリプトを書けば、可能です。

汎用のユーティリティがあるかどうかは存じません。


どなたか作っていただけませんかね (^"^;)。



ターミナル上での作業を厭わないということでしたら、例えば、以下のようなperlスクリプトを書いて実行すれば、お望みのことはできます。

[...]

./mkfolders.pl <folders_list.txt

を実行して、フォルダ作成。


この最後のコマンドを打ち込んだら以下のようなエラーが出ました:


***$ ./mkfolders.pl <folders_list.txt

./mkfolders.pl: line 1: #!/usr/bin/perl: No such file or directory

./mkfolders.pl: line 2: syntax error near unexpected token `)'

./mkfolders.pl: line 2: `while(<>) {'


はて...?


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]

2010/02/09 12:04 しい坊 への返信

この最後のコマンドを打ち込んだら以下のようなエラーが出ました:




***$ ./mkfolders.pl <folders_list.txt

./mkfolders.pl: line 1: #!/usr/bin/perl: No such file or directory

./mkfolders.pl: line 2: syntax error near unexpected token `)'

./mkfolders.pl: line 2: `while(<>) {'




はて...?

こちらでは、動作確認したものなのですが...

ターミナルで、


ls /usr/bin/perl

とするとどうなりますか?


ついでに、

file ./mkfolders.pl

の結果も書いてください。


このメッセージは次により編集されています: Hit-C

2010/02/09 12:05 Hit-C への返信

Hit-C さんによる書き込み:


------ 以下の内容を、utf-8/LFのテキスト形式で保存...ファイル名 mkfolders.pl 保存場所は、フォルダを作成したい親フォルダの場所

#!/usr/bin/perl


もしかして「#!」の部分は何かに置き換えないといけなかったとか...?


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]

2010/02/09 12:08 しい坊 への返信

もしかして「#!」の部分は何かに置き換えないといけなかったとか...?

いいえ、これはシェルに対して、以下のスクリプトは /usr/bin/perl で実行せよ、ということを指示するためのものです。

これより先に行があってはいけませんし、余計なスペースなどを含めてもいけません。

改行コードは LF (Unix) にしてますよね?

2010/02/09 12:19 Hit-C への返信

Hit-C さんによる書き込み:


ターミナルで、


ls /usr/bin/perl

とするとどうなりますか?



$ ls /usr/bin/perl

/usr/bin/perl



file ./mkfolders.pl

の結果も書いてください。




$ file ./mkfolders.pl

./mkfolders.pl: Perl script text executable





$ ls -la

total 48

drwxr-xr-x 4 sibo admin 136 2 9 11:50 .

drwxr-xr-x 14 sibo admin 476 2 9 11:48 ..

-rw-r--r--@ 1 sibo admin 425 2 9 11:50 folders_list.txt

-rwx------@ 1 sibo admin 92 2 9 11:49 mkfolders.pl





--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]

2010/02/09 12:18 Hit-C への返信

Hit-C さんによる書き込み:


これより先に行があってはいけませんし、余計なスペースなどを含めてもいけません。

改行コードは LF (Unix) にしてますよね?


Jedit X Rev.2.20 (build 20162) (20100209) の新規書類ウィンドウにコピペして、UTF-8 + LF で保存してあります。再度確認しましたが、間違いありません。それとも Jedit X のような Mac OS X 用のテキストエディタ(スクリーンエディタ)を使ってしまうと、目に見えない部分で何かが埋め込まれるのですかね?


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]

2010/02/09 14:36 しい坊 への返信

ABC1111-山田太郎
ABC1112-小林花子
ABC1113-織田信長
ABC1114-豊臣秀吉


1. 上記をTextEditにCopyしてPlain TextでSaveする。
2. このTextを開いて、Command+F で…
Find: ABC
Replace with: mkdir ~/Desktop/ABC # お好きな場所のPathに...
Replace AllをClickする。


#! /bin/bash …これを書き込む
mkdir ~/Desktop/ABC1111-山田太郎
mkdir ~/Desktop/ABC1112-小林花子
mkdir ~/Desktop/ABC1113-織田信長
mkdir ~/Desktop/ABC1114-豊臣秀吉


4. Save as: Plain Text Encoding: Unicode (UTF-8)でSaveする。


5. このFileに実行権をつける。chmod 755 [path to file]
6. このFileをTerminalにDrag & DropしてReturnでFolderを生成します。


追記 Find: ABC:に:があったので削除しました。

2010/02/09 12:25 しい坊 への返信

それとも Jedit X のような Mac OS X 用のテキストエディタ(スクリーンエディタ)を使ってしまうと、目に見えない部分で何かが埋め込まれるのですかね?


私もJedit Xで動作確認してますので、それはないです。

なお、Jexit Xの設定の新規書類の書式はプレインテキストとしています。

作成した mkfolders.pl ファイルを開いて、書式メニューのところに「リッチテキストにする」というのがあれば、現在はプレインテキストです。

リッチテキストになっているときは、このメニューは「プレインテキストにする」となっています。


#ぴっぴさんの方法も一つの手ですが、こちらもスクリプト(こちらはbashスクリプト)を正常に動作させられないと使えないので、上記の注意点は同じです。

2010/02/09 12:38 ぴっぴ への返信

ぴっぴ さんによる書き込み:


6. このFileをTerminalにDrag & DropしてReturnでFolderを生成します。


こっちの方法の方がわかりやすそうです。しかし、実はリストの姓名の間には半角のスペースが入っておりました。これで生成されたフォルダの名前は全て人名の下の名前だけのフォルダ名になってしまっておりました (^"^;)。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]

2010/02/09 12:45 Hit-C への返信

Hit-C さんによる書き込み:


なお、Jexit Xの設定の新規書類の書式はプレインテキストとしています。


当然です (^^;)。


#ぴっぴさんの方法も一つの手ですが、こちらもスクリプト(こちらはbashスクリプト)を正常に動作させられないと使えないので、上記の注意点は同じです。


さて、問題はどこにあるんでしょうね...?


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]c

2010/02/09 12:46 ぴっぴ への返信

ぴっぴ さんによる書き込み:


ABC1111-山田太郎

ABC1111-\ 山田太郎

Back slashを入れれば良いと思います。Findで工夫して下さい。


「ABC1111-山田 太郎」なんですが、とりあえず、考え方の基本はわかりました。後で色々試してみます。ありがとうございました。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.2 (Build 10C540) [Snow Leopard]

エディタ上のリストを元に複数のフォルダを自動で生成する方法は?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。