フォルダ内の階層全てのエイリアスを作りたい

Macでフォルダ内の階層全てのエイリアスを作成するアプリもしくは方法をご存じでしょうか?

仕事内容の都合上、OSのバージョンは上げられずにいたのですが、最近Mojaveにしました。

OS High Sierraまでは「AutoCatalog」や「AliasDisk」といったアプリを使って全ファイルのエイリアスを作成してファイル管理に役立ててきましたが、OS Mojaveから使用できなくなり、残念に思っています。

フォルダ内の階層をテキストで書き出すことはできるのですが、エイリアスの方がフォルダ内部の状態がビジュアル的に把握しやすいので、重宝しておりました。

模試ご存じの方がおられたら、ご教示ください。

Mac mini, macOS 10.13

投稿日 2023/02/01 17:34

返信
スレッドに付いたマーク ランキングトップの返信

投稿日 2023/02/02 04:56

私もなんとかできました。

ちょっとコードが複雑でもっと整理できるかもしれませんが、動作確認はできています。

なお、お伺いした目的からAliasフォルダはデスクトップ固定で作成することにしましたので、作成後に所定の場所に移動してください。

参考になれば幸いです。

on run
	
	--ターゲットフォルダの選択
	set tgtfolder to choose folder
	set tgtpath to tgtfolder's POSIX path
	
	--エイリアスフォルダの場所:デスクトップに固定
	set aliasfolder to ((path to desktop folder) as text) & "Alias:"
	set aliaspath to aliasfolder's POSIX path
	
	--フォルダ階層を複製:ここがキモ!
	do shell script "rsync -ar --include \"*/\" --exclude \"*\" " & tgtpath's quoted form & " " & aliaspath's quoted form
	
	tell application "Finder"
		set getfiles to ((folder tgtfolder)'s entire contents)'s files
		repeat with getfile in getfiles
			set parentpath to ((parent of getfile) as alias)'s POSIX path
			set putaliaspath to my replaceText(parentpath, tgtpath, aliaspath) --エイリアスの作成場所
			make new alias at POSIX file putaliaspath to getfile --エイリアスの作成
		end repeat
	end tell
	
end run


on replaceText(theText, serchStr, replaceStr)
	set tmp to AppleScript's text item delimiters
	set AppleScript's text item delimiters to serchStr
	set theList to every text item of theText
	set AppleScript's text item delimiters to replaceStr
	set theText to theList as string
	set AppleScript's text item delimiters to tmp
	return theText
end replaceText

類似の質問

返信: 22

2023/02/03 05:12 Hiro__S への返信

2つ目のスクリプト (パッケージ対応版) はちょっと無理があるようです。ボツにしてください。最初のスクリプトはパッケージを考慮してないものの結構安定して動きます。なので、最初のを使った方が良さそうです。


スレ汚しすみませんでした。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

フォルダ内の階層全てのエイリアスを作りたい

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