SSブログ

多重階層のフォルダ作成したかっただけなのに [AppleScript辞書はつくれるか?]

先日のプログラムコードの中での、新規フォルダを作る部分ですが

 

set cd to "$HOME/Library/Developer"

try

do shell script ("cd " & cd & " ; ls 'Xcode' ;")

on error

do shell script ("cd " & cd & "  ; mkdir -m +w -p  Xcode ;") with administrator privileges

end try

set cd to cd & "/Xcode"

repeat with obj in {"Templates", "MacOS", "UserTemplates"}

try

do shell script ("cd " & cd & " ; ls " & obj & " ;")

on error

do shell script ("cd " & cd & "  ; mkdir -m +w -p  " & obj & " ;")

end try

set cd to cd & "/" & obj

end repeat

 

と、書いたのですが

 

 

do shell script ("mkdir -m +w -p  ~/Library/Developer/Templates/MacOS/UserTemplates ;") ¬

 with administrator privileges

 

の1行で済むんだと気づいた時の悲しさ...

 

フォルダを何階層も作る場合には、その度に繰り返して作らなければいけないと勘違いしてました。

mkdir -m +w -p の -pというオプションは2階層までしか作れないと勘違いして、3階層作るかもしれないと

思っていましたら、ちゃんと足りない階層は自動で全部補ってくれるということに改めて気づきましたね。

 

ためしに、

 

do shell script ("mkdir -m +w -p  ~/Downloads/test1/test2/test3/test4/test5 ;")

  

とやると、

image230329a.jpg

 

ちゃんとできてる。

  

しかし、なぜAppleScriptにある"make new folder"を使わず、shellスクリプトを使用したかというと、

パーミッション設定を一度にできるので、手っ取り早かったからですね。

-m +w』これを加えるだけで書き込み可能に設定できるから便利。

 

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。