AUTOMATOR: Nieuwe map obv variabele

In automator wil ik een projectmap aanmaken. Als eerste optie ‘Vraag om tekst’. De ingevoerde tekst is de naam van de map.

Is dit mogelijk?

Begin met „Vraag om tekst” (vink daarin aan dat een antwoord vereist is, om problemen te voorkomen) en dan „Voer AppleScript uit” waarin je het volgende stukje script plakt:

on run {input, parameters} tell application "Finder" to make new folder at "Macintosh HD:Gebruikers:jouwnaam:Bureaublad" with properties {name:input} end run

Vervang daarin Macintosh HD:Gebruikers:jouwnaam:Bureaublad door het pad naar de map waarin de nieuwe map moet komen, met dubbele punten tussen de mapnamen en beginnend met de naam van de harde schijf, zoals in dit voorbeeld. Géén Unix-stijl pad gebruiken als /Users/jouwnaam/Desktop want dat pakt AppleScript niet. Wil je dat wel, dan moet je het zo doen:

on run {input, parameters} tell application "Finder" to make new folder at POSIX file "/Users/jouwnaam/Desktop" with properties {name:input} end run

Top! Is het mogelijk om in deze nieuwe map submappen te maken?

Binnen die nieuwe map? Natuurlijk. Aangenomen dat die altijd dezelfde naam moeten hebben binnen elk van je nieuwe mappen, kun je dat bijvoorbeeld zo doen:

on run {input, parameters} tell application "Finder" set beginmap to "Macintosh HD:Gebruikers:jouwnaam:Bureaublad" make new folder at beginmap with properties {name:input} set nieuwemap to beginmap & ":" & input repeat with submapnaam in {"Submap 1", "Submap 2", "Submap 3"} make new folder at nieuwemap with properties {name:submapnaam} end repeat end tell end run
(Let wel: dit is niet getest :slight_smile: )

Zoals hierboven moet je natuurlijk Macintosh HD:Gebruikers:jouwnaam:Bureaublad vervangen door de map waar je de nieuwe map in wilt maken, en Submap 1 enz. door de echte namen van de mappen die in de nieuwe map moeten komen. Je kunt er meer maken door gewoon er meer bij te zetten op de manier zoals ze er al staan tussen de accolades.

Helaas krijg ik een foutmelding.

Zie ik iets over het hoofd?

Ja, je gebruikt in de tweede regel een POSIX-pad en in de vierde regel een dubbele punt als mapscheidingsteken :slight_smile: Als je regel 2 verandert in:

set beginmap to "Macintosh HD:Gebruikers:rblok:Bureaublad"

óf (maar niet allebei) regel 4 in:

set nieuwemap to beginmap & "/" & input

dan werkt het als het goed is wel.

THX!

Dat is het volgens mij niet.

set beginmap to POSIX file "/Users/rbkok/Desktop"

Zet een POSIX-pad om naar het AppleScript pad “Macintosh HD:Users:rbkok:Desktop” en is daarom geen probleem bij regel vier.

Met wat kleine wijzigingen werkt het wel op deze manier:

on run {input, parameters}
	tell application "Finder"
		set beginmap to (path to desktop folder as text)
		set beginmap to (make new folder at beginmap with properties {name:input})
		repeat with submapnaam in {"Submap 1", "Submap 2", "Submap 3"}
			make new folder at beginmap with properties {name:submapnaam}
		end repeat
	end tell
end run