今だけ人気マンガ100円レンタル特集♪

ファイル名の前半部分が日付になっているファイルが大量にあります。
このファイルを日付ごとのフォルダに自動的に振り分けたいです。

例えば…
20110101 001.jpg
20110101 002.jpg
20110101 003.jpg
20110302 001.jpg
20110302 002.jpg
20110503 001.jpg
20110503 002.jpg
このように混在しているファイルを、

「20110101」というフォルダに、
20110101 001.jpg
20110101 002.jpg
20110101 003.jpg

「20110302」というフォルダに、
20110302 001.jpg
20110302 002.jpg

「20110503」というフォルダに、
20110503 001.jpg
20110503 002.jpg

とファイル名の日付部分だけをフォルダ名にしたフォルダを自動的に新規作成し、振り分けたいです。


フリーソフトを探してみたのですが、Mac用は見つかりませんでした。
(Windows用ではこちらが近いのですが、頭文字だけになってしまいます:http://download.goo.ne.jp/software/contents/soft …

他の質問も参照してみましたが、理解に及びませんでした。
「ファイル名からフォルダを自動生成して振り分けしてくれるソフト」:http://oshiete.goo.ne.jp/qa/3078066.html

フリーソフトでなくとも、何か実現できる方法があればお知恵をお貸しいただけないでしょうか?
よろしくお願いいたします。

Mac OS X 10.7 Lionを使用しています。

このQ&Aに関連する最新のQ&A

A 回答 (7件)

スマートフォルダを活用されては?


iTunesのスマートプレイリストのFinder版ともいうべき機能です。
実際にファイルを振り分けてくれるのではないけど、
条件にあったものだけを集めて表示してくれます。
http://macfan.jp/guide/2008/10/18/post_489.html

もしくは、 Automatorでワークフローを組めばファイルの移動等様々なことを自動化できます。
http://allabout.co.jp/gm/gc/80883/

Automatorはプログラムの知識がなくても予め用意された動作を並べて条件を設定だけですから簡単に自動化できます。
ファイルを分類するなら十分対応できます。

プログラムの知識が少しでもあれば、AppleScriptやUNIXコマンド使ったもっと高度な自動化もできます。

この回答への補足

ありがとうございます。
Automatorでできるんじゃないかと思い(当てずっぽうですが)チャレンジしたのですが、わかりませんでした。
もし具体的なやり方をご存知でしたらお教えいただけないでしょうか?
プログラミングの知識はありません。

また、スマートフォルダではフォルダを自分でひとつひとつ作っていくことになると思います。
そのフォルダの数が大量になってしまうため、自動化したいと思っています。
するとスマートフォルダでは手間が掛かってしまうように思うのですが、いかがでしょうか?

補足日時:2011/10/31 07:03
    • good
    • 0

たまたまこの質問を見かけて回答してみました。



つい先日、ご希望通りのAppleScriptを作成したもので。
参考URLにスクリプトと使い方を書いていますので、参考になれば幸いです^-^

1年半前の質問…
さすがにもう遅いですよね(汗

参考URL:http://okwave.jp/qa/q7992281.html
    • good
    • 1
この回答へのお礼

お時間を割いて作成していただき、本当にありがとうございました。

お礼日時:2013/05/15 22:20

>具体的な方法まで教えてくださると助かります。



1.Filemakerに全ファイルを一括して取り込む。
2.計算フィールドで日付の部分だけ取り出す。
3.オブジェクトフィールドに取り込んだ画像を「フィールド内容のエクスポート」
 ステップで希望のフォルダに書き出すスクリプトをLoopする。
4.この際.Filemakerではフォルダを作れないので部分的にAppleScriptを使うこと
 になります。フォルダが既にあればAppleScriptは要らないのですが。
    • good
    • 1
この回答へのお礼

補足にお答えいただき、ありがとうございました。

お礼日時:2013/05/15 22:20

変則的ですが



1)リネームソフトでファイル名の空白をピリオドに置換
2)リネームソフトでファイル名の拡張子を削除(以上によって拡張子を偽装)
3)上(表示順によっては下)に貼ったドロップレットにまとめてドラッグ
4)リネームソフト(フォルダ内のファイルまで一括処理可能なタイプ)でファイル名をまとめて修正

で、ご希望の動作をするようです。10.7でも大丈夫かどうかはわかりませんが。
    • good
    • 0
この回答へのお礼

とても具体的なご回答、ありがとうございました。

お礼日時:2013/05/15 22:21

「move2FileNameFolder.app」


これ、ご希望とは違いますが、いま試してみたら僕の環境(G5 + OS X 10.5.8)では完璧に動作します。
全行コメント付きなので、少し格闘すればなんとか希望通りに改変できるんじゃないでしょうか。
http://force4u.cocolog-nifty.com/skywalker/2010/ …


tell application "Finder"
repeat with ObjFiles in DropObj

----エリアスを取得
set FileAlias to ObjFiles as alias
----FileAliasをテキスト形式に変更してFilePathに格納
set FilePath to FileAlias as Unicode text
----FileAliasの情報を取得ObjInfoに格納
set ObjInfo to info for FileAlias
----ObjInfoからファイル名を抜き出しFileNameに格納
set FileName to name of ObjInfo as Unicode text
----ObjInfoから拡張子を抜き出しExtNameに格納
set ExtName to name extension of ObjInfo as Unicode text
----ファイル名の文字数を数える
set CntFileName to (the length of characters of FileName) as integer
----拡張子の文字数を数える1足すのはカンマ分
set CntExtName to (the length of characters of ExtName) + 1 as integer
----ショートファイル名の文字数は?
set CntShotFileName to CntFileName - CntExtName as integer
----拡張子抜きのショートファイル名を抜き出します
set ShortFileName to characters 1 thru CntShotFileName of (the FileName) as Unicode text
----パスの文字数を数える
set CntFilePath to the length of characters of FilePath as integer
----パスの文字数 ー ファイル名でディレクトリ名の文字数を計算する
set CntDirPath to CntFilePath - CntFileName as integer
----ファイルのディレクトリ名を定義する
set DirName to characters 1 thru CntDirPath of FilePath as Unicode text

tell application "Finder"
----ファイルのディレクトリにショートファイル名のフォルダを作ります。
try
make new folder at (DirName) with properties ¬
{name:ShortFileName ¬
, owner privileges:read write ¬
, group privileges:read write ¬
, everyones privileges:read write ¬
, comment:FileName ¬
, description:ShortFileName ¬
}
end try
end tell

tell application "Finder"
try
----選んだファイルを作ったフォルダの中に移動します。
move (FileAlias) to alias (DirName & ShortFileName & ":")
delete alias (DirName & ShortFileName & ":.DS_Store")
end try
end tell

end repeat
end tell
end open
    • good
    • 0

一応、Filemaker とApplescriptでもできますが。

この回答への補足

ありがとうございます。
具体的な方法まで教えてくださると助かります。

補足日時:2011/10/31 06:54
    • good
    • 0

標準のAutometerで出来ますよ。


但しフォルダごとになりますが。

Autometerを起動させて新規ワークフローを作成します。
左側にある「ライブラリ」→Finderアイコンの「ファイルとフォルダ」を選びます。
その中に「Finder項目を検索」がありますから右側にドラッグドロップ。
検索条件を決めます。
「検索」で対象ファイルが特定のフォルダに集まっているのならそれを指定した方が効率的です。
例えば今回の質問ならユーザのピクチャフォルダとか。
検索条件を詳細に設定すれば確実です。
ex.ファイル名(20110101で始まる)、拡張子(jpgで終わる)、種類(イメージ)等

次にまたAutometerのウィンドウの左側にある「Finder項目を移動」を先程のアクションの下にドラッグドロップ。
で保存先のフォルダ(20110101)を指定。

この回答への補足

ありがとうございます。
大量という言葉が説明不足だったようで申し訳ないのですが、フォルダ分けすると200個以上フォルダができることになります。
日付がそれだけ分かれているということです。
そのため、フォルダを自動で作成し、振り分けたいのですが、方法をご存知でしょうか。

補足日時:2011/10/30 11:51
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qファイルをフォルダに自動振り分け バッチファイル

Cドライブ直下の"A"フォルダにある1,000件のCSVファイルをCドライブ直下に作成した5つのフォルダ"1~5"に自動振り分けしたいと思っています。
振り分け条件はExcelで管理しており、CSVのファイル名(1,000件分)と振り分け先のフォルダ名(1,000件それぞれ1~5のフォルダ)を入力してあります。

バッチファイルでMOVEを利用して自動振り分けできないか…と考えていますが、上手く行きません。

どなたか教えていただけないでしょうか。宜しくお願いします。

Aベストアンサー

こんにちは。

 私はバッチファイルを作るのによくExcelを使っています。
 例えば、コピーをするのに
  copy file1 folderA
 というコマンドなので、
 A列に「cp 」、B列に「file1」C列に「folderA」を入れ、D列に次の式を入れます。
  =A1 & B1 & " " C1
 すると、D列は「copy file1 folderA」になると思います。
 あとは、D列をコピーし、別シートに「形式を指定して貼り付け」で「値」を選んで貼り付けして、一度、ファイルを保存した後、再度、「名前をつけて保存」でテキスト形式で保存します。
 その後、メモ帳でテキストファイルを開いてコマンドが正しくできていることを確認し、拡張子を「.bat」にして実行します。

 万が一を考えて、moveではなくcopyでやって、結果を確認した後に削除した方が良いでしょう。

では。

Q多量のファイルをフォルダに自動振り分けするマクロを教えて下さい。

多量のファイルをフォルダに自動振り分けするマクロを教えて下さい。

エクセルVBAで、一行の内容を1つのテキストファイルに出力して、
連続処理で複数行を一気に複数ファイルに生成しています。

そのマクロは以前質問して教えて頂いたマクロで、下記のアドレスから
ご覧くださいませ。
http://oshiete.goo.ne.jp/qa/6201310.html
ファイル生成のマクロは、回答No.2の方が教えてくれたマクロを採用し
ています。(ベストアンサー)


生成するファイル名は4桁の数字なんですが、ファイル自動生成時に、
ファイル名が1000番代のファイルは、フォルダ名が1のフォルダに収め、
2000番代は2のフォルダへ・・といった具合に9000番代まで収めたいのです。

ファイルは生成できているので、 あとはフォルダの自動生成と
自動振り分けができるマクロを教えて頂けませんか?

宜しくお願い致します。

Aベストアンサー

内容を換えました。
このマクロの特徴は、2列目を使うファイル名は4桁の数--つまり数字であるということ。
フォルダが見つからないと、マクロはストップしてしまいます。

'//
Sub TestMacro1()
 Dim i As Long, k As Variant, j As Long, m
 Dim fn As String
 Dim mPath As String, nPath As String
 Dim rng As Range, ar As Variant
 Dim buf As String
 Set rng = Range("A1", Cells(Rows.Count, 1).End(xlUp).Offset(, 2))
 'パスを決める(CurDir は、カレントディレクトリ)
 mPath = CurDir & "\" '末尾には必ず¥を入れます。
 ar = rng.Value
 For i = 1 To rng.Rows.Count
  fn = Format(ar(i, 2), "0000") & ".txt"
  nPath = mPath & Left$(fn, 1) & "\"
  If Dir(nPath, vbDirectory) = "" Then MsgBox "Folderが見つかりません", 48: Exit Sub
  Do Until Dir(nPath & fn) = ""
   k = Val(k) + 1
   j = InStr(1, fn, "(", 1)
   If j > 0 Then
   '同名ファイルの場合
    fn = Mid(fn, 1, j - 1) & "(" & k & ")" & ".txt"
   Else
    fn = Replace(fn, ".txt", "", , , 1) & "(" & k & ")" & ".txt"
   End If
  Loop
  Open nPath & "\" & fn For Output As #1
  Print #1, ar(i, 1) & ar(i, 2) & ar(i, 3)
  Close #1
  k = ""
  nPath = ""
 Next
 If Len(buf) > 2 Then
  MsgBox Mid(buf, 2) & vbCrLf & "重複のため保存は省かれました。"
 Else
  MsgBox mPath & "に出力されました。"
 End If
End Sub

内容を換えました。
このマクロの特徴は、2列目を使うファイル名は4桁の数--つまり数字であるということ。
フォルダが見つからないと、マクロはストップしてしまいます。

'//
Sub TestMacro1()
 Dim i As Long, k As Variant, j As Long, m
 Dim fn As String
 Dim mPath As String, nPath As String
 Dim rng As Range, ar As Variant
 Dim buf As String
 Set rng = Range("A1", Cells(Rows.Count, 1).End(xlUp).Offset(, 2))
 'パスを決める(CurDir は、カレントディレクトリ)
 mPath = CurDir & "\...続きを読む

QMac マイファイルのデータ

Macビギナーの質問で恐縮ですがご教示頂ければ幸いです。

Finderを開くとマイファイルと言うフォルダと言うのかデータが保管されていると思うのですが、この中には必要なものと不必要なものが混在してしまいます。
例えばデスクトップに必要なフォルダがあったとして、その中の文書ファイルも有るし、全く不必要な既に以前、削除したと思う様なデータが残っていたりします。

最初からマイファイルなる所に保管したつもりも無いのですが、そもそもマイファイルとは何の為に有るのでしょうか。
マイファイルの不要なファイルを削除するのは、いちいち確認しなければならず面倒ですので、マイファイルに保管されない様にする方法は有るのでしょうか。

Airを使用してますがストレージの空きが厳しくて、余りデータを溜められないので、ちょくちょくダウンロードや保管データを削除しています。

以上、よろしくお願い致します。

Aベストアンサー

マイファイルに関してはこちらをご覧ください。
http://support.apple.com/kb/PH11367?viewlocale=ja_JP

マイファイルはエイリアス(Windowsで言うところのショートカット)ではありません。
エイリアスは中身は空でも、ファイルとしては実体を持っているので容量がありますが、マイファイルは単に本体ファイルをシステムがまとめて「表示」しているだけです。

iTunesやiPhotoを使った事があると思いますが、iTunesのプレイリストと似たような仕組みです。
本体ファイルを全く動かさずに様々なフォルダに格納されているファイルを(見た目上)1つにまとめる事が出来ます。

つまり、容量は消費していないし、マイファイルに表示されているファイルは本体ファイルそのものですから削除してしまっては不都合な状況になりますから何もしてはいけません。
気になるのならマイファイル自体を表示させなければ良いのです。
Finderの環境設定のサイドバーの良く使う項目のマイファイルのチェックを外せば非表示になります。

QApple Scriptで多数の新規フォルダ作成

Apple Scriptで多数の新規フォルダ作成

OS10.6です。
現在フォルダ内に多数の新規フォルダ作成をしています。
フォルダの上のバーにあるギアみたいなアイコンの新規フォルダを
回数分クリックしていますが、20回以上、同じ作業をするのが億劫です。

Apple ScriptないしAutomatorで自動化できないかなと思うのですが
プログラムに関しては全く無知です。欲出せば作成個数分を入力すれば
ずらーっとフォルダ作成できればいいな...

よろしくお願いします。

Aベストアンサー

> 20回以上、同じ作業をするのが億劫です。

いったい何億個、フォルダを作る必要があるのでしょう?

フォルダを複製して2個にする。
フォルダ2個を選択し、複製して4個にする。
フォルダ4個を選択し、複製して8個にする。
……

10回繰り返すと1000個を超え、20回繰り返すと、フォルダは1億を超えます。
あきらかにAutomatorやAppleScriptを使うより、短時間の作業ですみますよ。

Qautomatorでファイル名のみ取得

automatorで複数のファイルから
ファイル名のみを取得し、
テキストエディタで加工したいのですが

パスがついてきてしまいます、パスなしのファイル名だけ取得する方法はありますか?

Aベストアンサー

正規表現が使えるテキストエディタでファイル名だけにしてはいかがでしょうか?
例えばCotEditor
http://sourceforge.jp/projects/coteditor/
だと正規表現にチェックを入れ
.*/で検索したらできあがります。

コマンドなら
find . -type f|sed 's/.*\///'
でファイル名を取得

これをAutomatorで実行することもできます。

QexFATに欠点はありますか?

 自分はwindowsとmacの両方で使えるように
外付けHDDケースをexFATにしたのですが、win mac共に
標準な形式ではないので不安があります。

よろしくおねがいします。

Aベストアンサー

exFATは、File Allowcation Tableを利用する古典的なファイルシステムで、標準的と言えば標準的なファイルシステムです。ただ、これは最新のPC向けOSの付加機能に最適化されたものではなく、主に外部ストレージ向けとなっています。

それは、その構造が単純であることが理由です。
ファイルシステムは、FAT12/16/32の延長線上にあります。

そのため、ジャーナル管理やメタデータの管理機能はなく、ファイルインデックスの作成に必要な検索情報のリンク作成、ファイルシステムによる高度な欠陥管理がない、ファイルに対する追加情報の収録などができない、その他ACLのような所有者情報やアクセス権などを示す情報が記録できない。ファイルシステムレベルでの暗号化に対応しないという欠点があります。
また、これに付随するOS提供のサービスの一部も利用が制限されることがあります。(ファイルの自動<バックグラウンド>検索、バックグラウンドメタデータ保存、ボリュームシャドウコピーなど)

即ち、あくまで特定の用途としてデジタルカメラ、携帯情報端末やスマートフォンなどにおける外部ストレージとして使うには、価値があるが、それ以外だと例えば沢山の種類名称のフォルダやファイルが混在した中から、テスト1というファイルを検索するときに、時間が掛かる。

アクセス権を設定できないため、このファイルはAユーザーには触らせたくない(変更や消去されると困る)といった場合に、アクセス制限を加えることができないといった点が生じます。


これらが可能なのは、NTFS、HFSなどの高度なメタデータ管理とセキュリティ管理の概念を持つファイルシステムとなります。ということになります。

まあ、取り立てて危険性や欠点があるわけではないです。
むしろ、今不便を感じないならよいでしょう。ただし、それぞれのファイルに対してアクセス権を付与したいといった場合には、不向きです。

即ち、互換性と軽量性(仕組みとして単純)であるというだけの話です。

exFATは、File Allowcation Tableを利用する古典的なファイルシステムで、標準的と言えば標準的なファイルシステムです。ただ、これは最新のPC向けOSの付加機能に最適化されたものではなく、主に外部ストレージ向けとなっています。

それは、その構造が単純であることが理由です。
ファイルシステムは、FAT12/16/32の延長線上にあります。

そのため、ジャーナル管理やメタデータの管理機能はなく、ファイルインデックスの作成に必要な検索情報のリンク作成、ファイルシステムによる高度な欠陥管理がない、ファイ...続きを読む

Q同名フォルダを作成し、そのフォルダに移動するバッチ

自宅で

「Files 2 Folder」
http://www.gigafree.net/utility/move/files2folder.html

というフリーソフトを使って、
作成したファイルと同名のフォルダを作成し、
その作成されたフォルダ内にファイル移動させてファイルの管理をしております。

会社でもこのソフトを使えればいいのですが、
業務に必要不可欠でないフリーソフトをインストールすることを許されていないので、
一つ一つ手作業でフォルダを作成し、そのフォルダにファイルを放り込んでいます。

しかし、
バッチというものを作れば、
windowsの基本機能で、
あるアイコンにファイルをまとめてドラッグアンドドロップしたら、
各ファイルと同名のフォルダをそれぞれ作成し、その作成されたフォルダ内に移動させるようには出来るのでしょうか?

もし可能でしたらやり方を教えてください。

尚、使用しているPCのOSはWindows 7 Professionalです。

Aベストアンサー

No1です。

:LOOP
if "%~1"=="" goto :EOF
md "%~dp1%~n1"
move "%~1" "%~dp1%~n1"
shift
goto :LOOP

Qマックでファイルの一覧を取得するには?

Mac OS X を使用しています。
あるフォルダ内のファイルの一覧を作成し、表計算ソフトで文書を作成したいと考えています。
フォルダ内のファイル名の一覧を取得するには、どういう方法がありますか?
ちなみに、ファイル名は日本語です。

Aベストアンサー

自分のホームの中にあるfolderというフォルダのなかの
一覧を得るときには、アプリケーション、ユーティリティのなかにあるターミナルを起動して、次のように入力します。
cd folder
ls -v
画面に一覧が表示されるので次に
ls -v > folder_list
と打つと表示された通りの内容で
folder_listというテキストファイルができているので
それを加工すればよいと思います。

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qapple scriptファイル名の一部のみ変更

apple scriptにおいて、ファイル名変更の自動化を試みています。


ファイル名にabcという文字が含まれる場合、それらをdefに
変更する、というようなことがしたいのですが、
(001abc.txt -> 001def.txt
003abc0.txt -> 003def0.txt)

apple scriptにおいて

set oldName to name of aObj
--- newNameを指定
set name of aObj to newName

の上記でoldNameからnewNameをどう得たらよろしいでしょうか?

Aベストアンサー

サブルーチンにしてください。例えば、

tell application "Finder"
set oldName to "001abc.txt"
set newName to my replace(oldName)
end tell

on replace(oldName)
set oldDel to text item delimiters
set text item delimiters to "abc"
set myList to text items of oldName
set text item delimiters to "def"
set newName to myList as string
set text item delimiters to oldDel
return newName
end replace

といった具合。
あるいは、Finder で直接操作したいなら、text item delimiters を AppleScript's text item delimiters に置き換えてください。

tell application "Finder"
set oldName to "001abc.txt"
set oldDel to AppleScript's text item delimiters
set AppleScript's text item delimiters to "abc"
set myList to text items of oldName
set AppleScript's text item delimiters to "def"
set newName to myList as string
set AppleScript's text item delimiters to oldDel
end tell

という具合。

サブルーチンにしてください。例えば、

tell application "Finder"
set oldName to "001abc.txt"
set newName to my replace(oldName)
end tell

on replace(oldName)
set oldDel to text item delimiters
set text item delimiters to "abc"
set myList to text items of oldName
set text item delimiters to "def"
set newName to myList as string
set text item delimiters to oldDel
return newName
end replace

といった具合。
あるいは、Finder で直接操作したいなら、text item deli...続きを読む


人気Q&Aランキング