たまーにあるんです。
深い階層のフォルダ構造だけ維持して、中身のファイルはいらない、って時が。
でApplescriptとか、shellでfindとか調べてたんですが、もっとカンタンなのがありました。
日付もラベルも維持したまま複製します!
以下のようなフォルダを作りました。ファイルが少し入ってますが、これは要らない。フォルダだけ欲しい。
ターミナルでコマンド一発です。
rsync -arE --include "*/" --exclude "*" コピー元フォルダ名 コピー先フォルダ名
たとえば、デスクトップにある「moto」フォルダ(上の画像)をフォルダのみコピーしたい場合
rsync -arE --include "*/" --exclude "*" ~/Desktop/moto ~/Desktop/moto2
とすると、デスクトップにmoto2フォルダを作ってその中にmotoフォルダをフォルダ構造のみまるっとコピーします。
ファイルはコピーされずにフォルダがラベル・日付込みで複製できました!
(パッケージ類はコピーされちゃいます。.pkgや.app、.keynote等…入稿データには入ってる確率は低いだろう…w)
ラベル属性はイラネ、って時は、rsync -arE を rsync -ar にしてください。
年に数回だけちょうべんり!
(かな? ファイルをいじるので、自己責任ですお)
AppleScriptでくるんで使いやすく…
またもやTLで教わりつつ… @md5500氏が作ったスクリプトを元に自分専用ぽく作ってみました。
on open dropFolder tell application "Finder" set fName to name of (item 1 of dropFolder) set fPath to folder of (item 1 of dropFolder) if class of ((properties of (item 1 of dropFolder)) as record) is not folder then display alert "フォルダではありません。" & return & "構造をコピーするフォルダをドロップしてください" as warning else set bFolder to my inputFoldername(fName, fPath) as Unicode text set aFolder to dropFolder as Unicode text my main(aFolder, bFolder) end if end tell end open on main(aFolder, bFolder) set aFolderPosix to quoted form of POSIX path of aFolder set bFolderPosix to quoted form of POSIX path of bFolder do shell script "rsync -arE --include \"*/\" --exclude \"*\" " & aFolderPosix & " " & bFolderPosix end main on inputFoldername(fName, fPath) set nFname to text returned of (display dialog "同階層に作成する" & return & "フォルダ名を入力してください" with icon note default answer fName) as Unicode text tell application "Finder" try make new folder at fPath with properties {name:nFname} on error display alert "その名前のフォルダがすでにあります。" & return & "名前を入力しなおしてください" as warning my inputFoldername(fName, fPath) end try end tell end inputFoldername
いつもながら、継ぎ接ぎです。
これにコピーしたいフォルダをドラッグ&ドロップすると、名前を聞いてきますので入力、確定。
すると元フォルダと同じ階層に、フォルダ構造のみコピーしたフォルダができます。
一応変なことはやってないはずですが使用は自己責任でお願いします。あと「ここ変」って突っ込み歓迎(;´Д`)
DLは以下より。
ふと、macでできないか?と思い立ち、
このご投稿に出会ってからわずか1分!
素晴らしすぎます!大変助かりました!