2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

AppleScript アップルスクリプト 質問、発表 6

1 :名称未設定:2013/12/21(土) 21:50:45.07 ID:1PJJFexL0.net
質問、発表どっちでもスレ。

■注意
安直なスクリプト作成依頼、丸投げ、「こういうの作ってください!」はお断り。
わからない点、エラーが解決できない点についてはスクリプト片を添えて質問すること。
OSバージョンも忘れずに。

■参考
AppleScript Language Guide
https://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptLangGuide/
TN2065: do shell script
https://developer.apple.com/library/mac/technotes/tn2065/
AppleScript: The Language of Automation
http://www.macosxautomation.com/applescript/
MacWiki - AppleScript
http://macwiki.sourceforge.jp/wiki/index.php/AppleScript
鳶嶋工房 / AppleScript
http://tonbi.jp/AppleScript/
AS Hole(AppleScriptの穴)
http://piyocast.com/as/
■過去スレ
1 http://pc11.2ch.net/test/read.cgi/mac/1174045850/
2 http://pc11.2ch.net/test/read.cgi/mac/1197443062/
3 http://pc11.2ch.net/test/read.cgi/mac/1223026902/
4 http://anago.2ch.net/test/read.cgi/mac/1256127156/
5 http://anago.2ch.net/test/read.cgi/mac/1330350325/

811 :名称未設定:2016/08/30(火) 18:39:38.33 ID:PZv9P6aX0.net
>>806
氏ねよクズ

812 :名称未設定:2016/08/30(火) 19:28:50.83 ID:AdsaidQG0.net
>>808
まずは拡張子を外してから痴漢、最後に拡張子を戻してテキストにペーストしてたんですね!
この部分を削除して希望の通りのフォーマットでコピペされました!
神様有難うございます!!

813 :名称未設定:2016/08/30(火) 19:31:40.88 ID:PFtNseYe0.net
こーゆーのを、厚顔無恥っていうのか?

814 :名称未設定:2016/08/30(火) 19:38:21.79 ID:+sIhfrvl0.net
可愛い子には旅をさせよ

815 :名称未設定:2016/09/06(火) 23:07:59.42 ID:AbjjUDuP0.net
文字列をパースしてdateオブジェクトに変換したいのだけど、システム設定に非依存でやる方法を教えてください。

set theDateString to

816 :名称未設定:2016/09/06(火) 23:09:51.36 ID:AbjjUDuP0.net
文字列をパースしてdateオブジェクトに変換したいのだけど、システム設定に非依存でやる方法を教えてください

set theDateString to "2016/9/6"
set theDate to date theDateString

の時、システム設定が和暦になってると theDateは "平成2016"になってしまいます
かといって、set theDateString to "H28/9/6"とすると、システム設定が西暦の場合エラーになります

システム設定のフォーマットに依存せず、テキストから正しく日付オブジェクトに変換する方法が思いつきません。 よろしくお願いします。

817 :名称未設定:2016/09/07(水) 00:12:26.20 ID:3MTRzdxL0.net
和暦と西暦の変換処理を自分で書いちゃうのはダメなの?

まず、dateオブジェクト内は西暦で統一しておく

dateオブジェクトに入れる前の文字列に
昭和とか平成、Hの文字が入っていないかチェックする処理
→入っていなくて年の部分が4文字なら西暦と見なしてdateオブジェクト化
→入っていた時は和暦→西暦変換の処理をしたあとdateオブジェクト化

で、dateオブジェクトから日時を取り出して使う際に、
西暦のまま取り出すか、和暦に変換して取り出すか、
フラグでも立てて分岐する処理を書いておく

江戸時代とか、それより前の日付も対象になるなら、
その分チェック対象のリスト(配列)も用意しないとダメで
面倒そうだけども…

818 :名称未設定:2016/09/07(水) 00:30:52.68 ID:3MTRzdxL0.net
ちなみに自分の場合、

set theDate to current date
set (year of theDate) to 1999

こんな感じで、current date でdateオブジェクトをまず作っちゃって、
そのあと必要に応じて年月日を変更する形でやってて、
西暦しか使えないと思ってました…

>>816みたいな書き方すると、"2016/9/6" を直接
dateオブジェクト化したりできたんですね…

819 :名称未設定:2016/09/07(水) 02:10:58.49 ID:GDz+ptgZ0.net
>>816
かんたんかんたん

set theCommand to "date +%Y/%m/%d"
set theDateString to do shell script theCommand
set theDate to date theDateString

820 :名称未設定:2016/09/07(水) 02:17:43.35 ID:GDz+ptgZ0.net
あ、上のは検証してないんで一応補足しておくけど、もし年/月/日の並びがだめぽな
環境があるなら>>818のような定番の方法を使ってそれぞれ別個に定義してやればよい

e.g.
set theDate to current date
set theYearString to do shell script "date +%Y"
set (year of theDate) to theYearString
...

総レス数 1008
389 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★