[xyzzy:04555] Re: 変換
- Subject: [xyzzy:04555] Re: 変換
- From: KAMEI Tetsuya <kamei@xxxxxxxxxxxx>
- X-mailer: KaMail-0.0.1.8 on xyzzy-0.2.1.143 (windows-nt)
- X-yzzy-version: 0.2.1.143
Kyo さん、こんにちは。
2000年5月26日(金)[23:11:15]の、
[xyzzy:04554] 変換
への返事です。
> 実はPsion用にxyzzyを使ってるのですが、UTF-8とS-JISとを自動的に一括変換す
> る方法ってないでしょうか?今はひとつひとつ読み込まして名前をつけて保存で
こんな感じ? 指定されたディレクトリ内のファイル全部変換
します。
(defun convert-encoding-directory (from to encoding)
(setq from (namestring from))
(setq to (namestring to))
(or (and (path-equal from to)
(not (yes-or-no-p "入力と出力が同じっぽいっすけどいいっすか?")))
(let (buffer)
(unwind-protect
(progn
(do-events)
(setq buffer (create-new-buffer "*foo*"))
(set-buffer buffer)
(set-buffer-fileio-encoding encoding)
(mapc #'(lambda (f)
(message "~a..." f)
(erase-buffer buffer)
(insert-file-contents (merge-pathnames f from))
(write-region (point-min) (point-max)
(merge-pathnames f to)))
(directory from :file-only t)))
(and buffer (delete-buffer buffer)))))
(message "done"))
(defun sjis2utf (from to)
(interactive "Dsjis2utf: \nDto: ")
(convert-encoding-directory from to *encoding-utf8*))
(defun utf2sjis (from to)
(interactive "Dutf2sjis: \nDto: ")
(convert-encoding-directory from to *encoding-sjis*))
> 変換していってますが、死ぬほどだるくて・・・。もしくは引数を使って起動し
> て変換後すぐに終了させる方法も知りたいなあ。xyzzyは多機能すぎて使い方がい
こっちは、こんなことすれば出来ないことはありませんが…。
xyzzy.exe 変換元ファイル名
-e "(progn (set-buffer-fileio-encoding *encoding-utf8*)
(set-buffer-file-name \"変換先ファイル名\")
(set-buffer-modified-p t)(save-buffer))" -f kill-xyzzy
--
亀井哲弥(Tetsuya Kamei)
kamei@xxxxxxxxxxxx