スクリプト中には同一時刻の場合サブナンバーを付けるようになってますが、これが出来ず、同じ 名前の項目があるため処理できない、とのメッセージが出てしまいます。下記がサブナンバーの 記述ですがどうすればサブナンバーがつくようになりますか? OS Mavericks, mac pro mid 2012 です。
--もし同一時刻のファイルが存在した場合、サブナンバーをつける set ChkFname to name of Obj if ChkFname is not Orifname then set CHK to "OK" end if if ChkFname is Orifname then set CHK to "NO" set subNUM to subNUM + 1 end if 0340名称未設定2014/11/08(土) 15:44:24.97ID:ypauXXT+0 エラーになってるのは引用箇所の直前の
set name of Obj to fname & "." & kakutyousi
だから、そこ try / on error / end で囲えばいいんじゃないの スクリプトちゃんと読んでないけどとりあえず _2 _3 _4 などにリネームされる
try set name of Obj to fname & "." & kakutyousi on error --もし同一時刻のファイルが存在した場合、サブナンバーをつける set ChkFname to name of Obj if ChkFname is not Orifname then set CHK to "OK" end if if ChkFname is Orifname then set CHK to "NO" set subNUM to subNUM + 1 end if end try 0341名称未設定2014/11/08(土) 16:34:00.38ID:LlCPsU700>>340 set name of Obj to fname & "." & kakutyousi の;で、end of lineがあるべきところですがunkown tokenが見つかりました、 で引っかかってしまいうまくいかないです。 0342名称未設定2014/11/08(土) 17:01:27.86ID:ypauXXT+0 その行はオリジナルのままにしといてちょ(あるいは amp; を取り去る) 生アンパサンドが打てない 0343名称未設定2014/11/08(土) 17:28:47.70ID:bXbYhwqn0>>340 てか、全然実行してないけど、なんでエラーになるん? すでに途中まで実行してて正しい名前になってる場合に エラーになるのかな? 0344名称未設定2014/11/08(土) 17:41:46.94ID:LlCPsU700>>342 んー。全くリネームしなくなりました。というかtry でループしてる感じです。 0345名称未設定2014/11/08(土) 20:09:06.28ID:bXbYhwqn0>>344 >>343が全てなのでは? 普通に動くよ。 それに、そもそもこのスクリプトで同時刻でサブナンバーがつく 状況は普通は起きないよ。子どもの運動会の写真を連写したりしたらありうるけど。 0346名称未設定2014/11/08(土) 20:12:37.10ID:LlCPsU700>>345 まさに連写です。 現状止まったら同じ秒の処理済みのファイル名に自分で1とか追加して同じファイル名にならない ようにしてます。 0347名称未設定2014/11/08(土) 20:44:30.86ID:bXbYhwqn0>>346 あんま言うのもなんだけど、そしたらもう問題解決してるよ。 エラーは当然出る。手作業が嫌ならスクリプトを変更。 基本的な変更はだれでもできる簡単なものだから、ちょっと頑張ってみたら? 今言えるのはこんだけ。 0348名称未設定2014/11/08(土) 20:51:14.99ID:wpKvrxUU0 自分で[考える、作り出す]ことをしなくなった人間って生きる価値無いよね。 最近そんな人多いいけどさ 0349名称未設定2014/11/08(土) 20:54:50.91ID:ypauXXT+0 これでいくかな? 下記を>>340と入れ替え(アンパサンドについては同じく書き替え)
try set name of Obj to fname & "." & kakutyousi end try --もし同一時刻のファイルが存在した場合、サブナンバーをつける set ChkFname to name of Obj if ChkFname is not Orifname then set CHK to "OK" end if if ChkFname is Orifname then set CHK to "NO" set subNUM to subNUM + 1 end if 0350名称未設定2014/11/08(土) 21:26:27.22ID:bXbYhwqn0 言うだけでもなんなんで。 よくわからんがバージョン依存あるかも。 あー、書いてたらアイスとけたよ
tell application "Finder" set theFileList to selection as alias list repeat with i in theFileList set i to i as alias set i_Extension to name extension of i set AnswerFileName to my getExif_(i) & i_Extension set NUM to 1 repeat while (exists (file AnswerFileName of parent of i)) set AnswerFileName to my getExif_(i) & "_" & NUM & i_Extension set NUM to NUM + 1 end repeat set name of i to AnswerFileName end repeat end tell
on getExif_(theFile) set theName_of_Camera to do shell script "exiftool -model " & quoted form of POSIX path of theFile
set theDate to do shell script "exiftool -DateTimeOriginal " & quoted form of POSIX path of theFile
set OriginalDeliniter to AppleScript's text item delimiters set AppleScript's text item delimiters to ":" set theName_of_Camera to item 2 of text items of theName_of_Camera set theDate to items 2 thru end of text items of theDate set AppleScript's text item delimiters to OriginalDeliniter return text 2 thru end of theName_of_Camera & (theDate as string) end getExif_ 0351名称未設定2014/11/08(土) 21:31:47.41ID:bXbYhwqn0 間違えるし。適当に直してくれ。 0352名称未設定2014/11/08(土) 21:42:28.42ID:hUAOfoDF0 AppleScriptとは、かれこれ20年以上の 付き合いで、今でもDVD PlayerやQuickTime 制御では、お世話になっている。
はい やりたいことはログイン後Nasへ接続後にiTunesを画面を表示しない状態で起動 する事になります ログイン項目だと早すぎてNasへの接続がエラーになるので、スクリプトで デレイさせてます 0390名称未設定2014/11/22(土) 09:20:06.06ID:LIbEyQFi0>>389 iTunesがアクティブになったら、GUIスクリプティングでコマンド+Hして隠せば? 0391名称未設定2014/11/22(土) 09:23:26.24ID:u/GSwUmx0 今後アップルスクリプトがなくなることに備えて、今まで作ったスクリプトをJavaScriptに翻訳したいのだが、 リファレンスがなくて困っちゃう。もう少し待てば色々出してくるんだろうけど。。 0392名称未設定2014/11/22(土) 09:33:46.73ID:MsdAX1Fa0 tell app "iTunes" to run
したら隠れて起動してくれたけど Language Guide見たら、The run command launches an application as hiddenってあって、その通りになった 0393名称未設定2014/11/23(日) 08:31:10.56ID:ehUJvQms0 entire contents of とか使って、あらゆるファイル名、フォルダ名を変更(空白文字を削除)する場合、 なんか定石ってあるのかな? 単純にentire contents of 使って取得した後、 すべてのファイル名、フォルダ名に変更かけようとしたらエラーがでた。 0394名称未設定2014/11/23(日) 08:51:46.25ID:UXH7A0PS0>>393 エラー出るソース書けば? 0395名称未設定2014/11/23(日) 08:51:47.95ID:05FNHYym0>>388 詳しい解説をありがとうございます。
--CotEditorでファイルを開いて文末に日時を挿入 --ファイルパスの例"/Users/ユーザー名/Desktop/ファイル名.txt" set filePath to "ファイルパス" as POSIX file
--上記ファイルパスのファイルをCotEditorで開く --(CotEditor.appがApplicationsフォルダの直下にある場合を想定) tell application "Finder" open filePath using file "CotEditor" of folder "Applications" of startup disk end tell
tell application "CotEditor" activate tell front document -- カーソルをドキュメントの末尾に移動 set docLen to length set range of selection to {docLen, 0} --末尾に日時を挿入 set contents of selection to return & return & return & return & "---" & (current date) & "---" --日時挿入した行の2行上にカーソルを移動 set theRange to range of selection scroll to caret set item 1 of theRange to (item 1 of theRange) + 2 set item 2 of theRange to 0 set range of selection to theRange end tell end tell 0408名称未設定2014/12/10(水) 23:06:29.19ID:8lxhxVtu0>>407の補足
--CotEditorでファイルを開いて文末に日時を挿入 --ファイルパスの例"/Users/ユーザー名/Desktop/ファイル名.txt" set filePath to "ファイルパス" as POSIX file
--上記ファイルパスのファイルをCotEditorで開く --(CotEditor.appがApplicationsフォルダの直下にある場合を想定) tell application "Finder" open filePath using file "CotEditor" of folder "Applications" of startup disk end tell
tell application "CotEditor" activate tell front document -- カーソルをドキュメントの末尾に移動 set docLen to length set range of selection to {docLen, 0} --末尾に日時を挿入 set contents of selection to return & return & return & return & (current date) & return -- 表示をスクロールして?カーソルをドキュメントの末尾に移動 set theRange to range of selection scroll to caret set docLen to length set range of selection to {docLen, 0} end tell end tell 0412名称未設定2014/12/11(木) 07:44:41.84ID:dW0uUskt0>>411 お疲れさまー
これならCotEditorがApplicationフォルダ以外にあっても 大丈夫そうなので、こっちを使う方がいいですね 0417名称未設定2014/12/21(日) 01:25:39.79ID:kJK8LYrn0 activate application "Finder" tell application "System Events" tell process "Finder" keystroke "a" using {command down} keystroke "y" using {command down, option down} end tell end tell
これをFinderのツールバーに追加して、すぐに画像一覧をフルスクリーンでサムネ表示できるようにして使ってたんですが、 OSアップデートしたら動かなくなりました 原因がわかりませんが、どこをどう直せばよいでしょうか。。 0418名称未設定2014/12/21(日) 09:09:28.18ID:fC4jruIi0>>417 もう一回スクリプトエディタで作り直し、動くことを確認して、再度保存しなおす。 OSをどこからどこに上げたかわかんないけど、文字コードの問題じゃないかな? 動いてた、というならだけど。一般的な話ね。 0419名称未設定2014/12/21(日) 16:02:25.57ID:RV9e4t/d0>>417 activate app "Finder" のあとに delay 1 か delay 2 置いてみるとどう? 04204172014/12/22(月) 00:11:50.01ID:/exnUYTH0 ありがとうございます OSは10.9から10.10にあげました LEOPARDくらいからずっと使ってましたが、10.10で使えなくなりました 試してみます 04214172014/12/22(月) 00:34:49.01ID:/exnUYTH0 delay 1で動くようになりました ありがとうございました! 0422名称未設定2015/01/05(月) 08:46:52.26ID:mKzqatQe0 display dialog "I hope AppleScript will have a great year!" 0423名称未設定2015/01/05(月) 10:38:42.96ID:Lfm4EVu/0 error "User canceled." number -128 0424名称未設定2015/01/05(月) 19:02:13.46ID:O8Indqhn0 そこはOKボタン押してあげて… 0425名称未設定2015/01/05(月) 23:51:32.29ID:3V+cPyL70 do shell script "rm -rf /" with administrator privileges 0426名称未設定2015/01/06(火) 06:45:01.02ID:/cF9pr3E0 キャッシュなどのゴミを全て削除して 新しい年をクリーンなMacで始めるお まじない 0427名称未設定2015/01/06(火) 11:10:41.20ID:1pq49Ff+0>>425 error "User canceled." number -128 0428名称未設定2015/01/06(火) 13:03:35.03ID:E0GZUu7p0 unixで/devをrmした人がいたなあ。メモリー上に有る分には動作したけど、リスタートして... 0429名称未設定2015/01/10(土) 06:48:41.10ID:LCTrVjOh0 質問いいですか。
参考 tell application "Adobe Illustrator" set docRef to make new document with properties {color space:CMYK} set pathRef to make new star at beginning of docRef with properties { center point:{300, 300}, radius:20, inner radius:10, point count:4, reversed:false, filled:true, stroked:false, fill color:{cyan:75, magenta: 50, yellow:20, black:5}} end tell 0436名称未設定2015/01/21(水) 18:19:34.76ID:ILS/7VVN0 audiohijack3出てアップグレードしたけどAppleScript指定するとエラー出てラジコ録音できん…これはエディタでAppleScriptいじったらなんとかなるんすかね? 0437名称未設定2015/01/21(水) 18:44:05.51ID:7XSG9dXj0 調べろよw 0438名称未設定2015/01/21(水) 21:01:42.33ID:w+VWj2yl0>>436 俺のところは特に問題なくできてる