同じ形式のファイルのバッチがありbmp
、ファイル名は0.bmp
1.bmp
... です。ファイル名を変更し99.bmp
たい0.bmp
です。Windowsでemacsを使用しています。99.bmp
1.bmp
98.bmp
dired-mode
3 に答える
7
M-x wdired-change-to-wdired-modedired バッファを編集可能にするために使用できます。その後、 dired バッファの末尾から開始する counterを使用した単純なキーボード マクロで、うまくいくはずです。
マクロを使用したくない場合の代替手段は次のとおりです。
M-x replace-regexp
Replace regexp: ^[0-9]+
Replace regexp with \,(- 99 \#&)
于 2012-12-11T09:52:03.700 に答える
2
一般的ではなく、簡単な汚い答えかもしれません:
最初に:C-x C-qでdired-mode
;
2番目:M-:ヤンクとRETスニペット:
(progn
(beginning-of-buffer)
(while (re-search-forward "\\([0-9]+\\).bmp" nil t)
(replace-match
(format "%d.bmp" (- 99 (string-to-number (match-string 1))))
nil
nil)))
3番目:C-c C-c変更を保存して完了します。
于 2012-12-11T10:41:10.487 に答える
1
よくわかりませんが、バッファdired-mode
内で簡単なスクリプトを実行できます。*scratch*
既存のファイル名を別の名前に置き換える場合は、最初にすべてのファイルの名前を変更してから、それらの名前から始めることをお勧めします。
(progn
(dotimes (i 100)
(let ((file-name (concat (number-to-string i) ".bmp")))
(rename-file file-name (concat "old" file-name))))
(dotimes (i 100)
(let ((file-name-old (concat "old" (number-to-string i) ".bmp"))
(file-name-new (concat (number-to-string (- 99 i)) ".bmp")))
(rename-file file-name-old file-name-new))))
*scratch*
それをバッファにコピーし、式を超えて push するとC-x C-e、そのコードがそれを行います。
于 2012-12-11T09:56:06.640 に答える