Emacs Lisp を勉強しています。
d:/hoge/info にある emacs-[0-9]+ というファイルを emacs-ja-[0-9]+ とい
う名前でコピーするプログラムを書いてみました。

わざわざ elisp で書く必要もないのですが。
簡単に書けるかと思ったら、書いてみると意外に難しかった・・
こうやったらもっと簡単に書けるぞ (゚Д゚)ゴルァ
というツッコミをお待ちしています。


(let ((files (directory-files "d:/hoge/info"))
old-file new-file
rename-list)
(save-excursion
(set-buffer (get-buffer-create "*tmp*"))
(erase-buffer)
(while files
(setq old-file (car files))
(if (string-match "emacs-\\([0-9]+\\)" old-file)
(progn
(setq rename-list (cons old-file rename-list))
(insert old-file "\n")))
(setq files (cdr files)))
(goto-char (point-min))
(setq rename-list (nreverse rename-list))
(cd "d:/hoge/info")
(while (re-search-forward "emacs-\\([0-9]+\\)" nil t)
(setq new-file (concat "emacs-ja-"
(buffer-substring (match-beginning 1)
(match-end 1))))
(copy-file (car rename-list) new-file t)
(setq rename-list (cdr rename-list)))))