このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

.htm--->.html

発言者:smart
( Date Tuesday, October 08, 1996 21:19:44 )


Windows用のデータ識別子.htmの付いたファイル名をMAC用に.html
にする簡単なスクリプトを作りました。
さて、逆はどうしたら出来るのでしょうか?
set a to ("html" - "l")ということは出来ない様です。

on open droplist
  repeat with x in droplist
    tell application "Finder"
      if (name of x ends with ".htm") then
        set name of x to name of x & "l"
      end if
    end tell
  end repeat
end open

田中求之 さんからのコメント
( Wednesday, October 09, 1996 00:18:36 )

以下のスクリプトでできるはずです

on open droplist
  repeat with x in droplist
    tell application "Finder"
      if (name of x ends with ".html") then
        set name of x to (characters 1 thru -2 of name of x) as string
      end if
    end tell
  end repeat
end open

smart さんからのコメント
( Wednesday, October 09, 1996 09:28:20 )

こんなに簡単に出来るとは、驚きました。かなり複雑な処理も出来そうなので、
何かトライしてみます。
しかし、AppleScriptは奥が深い。

bison さんからのコメント
( Friday, October 11, 1996 10:49:29 )

>以下のスクリプトでできるはずです
田中先生のスクリプトをそのまま張り付けて、やってみましたところ、
"Can't get characters 1 thru -2 of name of alias ・・・・・・"
と、エラーになってしまいました。

私なりに、書いてみたのですが、

on open droplist
  repeat with x in droplist
    tell application "Finder"
      if (name of x ends with ".html") then
        set a to name of x
        set AppleScript's text item delimiters to "."
        set b to text items of a
        set name of x to item 1 of b & ".htm" as string
      end if
    end tell
  end repeat
end open

こんなところでいかがでしょう?

田中求之 さんからのコメント
( Friday, October 11, 1996 14:42:39 )

>"Can't get characters 1 thru -2 of name of alias ・・・・・・"
>と、エラーになってしまいました。

あ、欲張りすぎたのが裏目に出ましたね。以下のようにすれば確実に動くはずです。


on open droplist
  repeat with x in droplist
    tell application "Finder"
      if (name of x ends with ".html") then
        set oldName to (name of x)
        set name of x to (characters 1 thru -2 of oldName) as string
      end if
    end tell
  end repeat
end open