0

私は AppleScript の初心者で、タイプライターを購入して山に引っ越すのはもうすぐです。

誰でも、なぜこれが失敗するのか説明してください:

set mah_file to POSIX file "/Users/me/folder/fileinfo.txt"
set mah_data to "some text!!!!!!"

on write_to_file(this_data, target_file, append_data) -- (string, file path as string, boolean)
    try
        set the target_file to the target_file as text
        set the open_target_file to ¬
            open for access file of target_file with write permission
        if append_data is false then ¬
            set eof of the open_target_file to 0
        write this_data to the open_target_file starting at eof
        close access the open_target_file
        return true
    on error
        try
            close access file target_file
        end try
        return false
    end try
end write_to_file

write_to_file(mah_data, mah_file, true)

これは成功しますが:

set mah_file to choose file
set mah_data to "some text!!!"

-- the rest is identical

私はもう試した:

set mah_file to POSIX file "/Users/me/folder/fileinfo.txt" as file

set mah_file to POSIX file "/Users/me/folder/fileinfo.txt" as alias

set mah_file to POSIX file "/Users/me/folder/fileinfo.txt" as text

AppleScript は、これが機能しない理由をわざわざ教えてくれないので、私は元気で、本当に正気を失っています。

4

3 に答える 3

3

fileおよびPOSIX fileキーワードを省略します。

set mah_file to "/Users/me/folder/fileinfo.txt"
...
set the open_target_file to open for access mah_file with write permission
于 2013-06-21T20:06:15.613 に答える
1

echo コマンドを >> と組み合わせて使用​​すると、テキストをファイルに書き込むことができます。

テキスタイルが存在しない場合は、新しいテキスタイルが作成されます

テキストファイルが既に存在する場合

> 同じ名前の既存のテキスタイルをオーバーライドできます

あなたが使用する>>テキストは既存のファイルに追加されます

set mypath to "/Users/" & (short user name of (system info)) & "/Desktop/file.txt" as string
set myText to "text to write in the text file" as string

do shell script "echo " & "\"" & myText & "\"" & ">>" & mypath

mypath は POSIX パスです

それがあなたが探していたものであることを願っています

于 2013-06-24T13:46:55.373 に答える
1

readまたwrite、デフォルトでプライマリ エンコーディング (MacRoman や MacJapanese など) を使用します。as «class utf8»UTF-8 ファイルで非 ASCII 文字を保持するために追加します。

書き込み:

set b to open for access "/tmp/1" with write permission
set eof b to 0
write "α" to b as «class utf8»
close access b

追加:

set b to open for access "/tmp/1" with write permission
write "ア" to b as «class utf8» starting at eof
close access b

読む:

read "/usr/share/dict/connectives" as «class utf8»
于 2013-06-21T22:29:25.217 に答える