From: Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org>
To: help-gnu-emacs@gnu.org
Subject: Re: How to rename files to numbers in Eshell?
Date: Wed, 22 Sep 2021 16:27:46 +0200 [thread overview]
Message-ID: <87k0j8lm71.fsf@zoho.eu> (raw)
In-Reply-To: YTyxzGcazkwh67pQ@protected.localdomain
Jean Louis wrote:
> This may serve as starting point:
>
> (defun renumber-files (&optional files)
> "This function works within Dired or Directory Editor in GNU
> Emacs. It will rename bunch of files and renumber them
> automatically by date and number of the file. It is useful when
> you are renaming less important images or bunch of files with
> irrelevant file names."
> (interactive)
> (let* ((files (or files (dired-get-marked-files)))
> (count 1))
> (dolist (file files)
> (let* ((extension (file-name-extension file))
> (filename (format "%s-%06.f.%s" (format-time-string "%F") count extension)))
> (rename-file file filename)
> (setq count (+ count 1))))))
>
> Then in eshell:
>
> $ renumber-files *
That's the spirit Jean - we do _everything_ in Elisp, however
the time, place, and manner of invocation is entirely optional
and up to the user's preference and discretion.
It's interface-agnostic (or client-agnostic) computing
for YOU!
However your style has, in your phrasing, "a bunch" of
flaws ... as in formally
Second line should not have indentation
First line is not a complete sentence
Argument ‘files’ should appear (as FILES) in the doc string
The first `let*' does not have to be parallel but can be the
sequential `let'.
It also lacks a
(require 'dired)
because of `dired-get-marked-files'.
And there is no need to increment the count manually with the
error-prone out-of-baseline `setq' when you instead can have
a twin iterate/increment loop with `cl-loop' _or_ if you
insist to do it manually you still don't need setq but can use
`cl-incf' and if you insist on setq you can still use `1+'
But that's just me insisting!
Wait, let's just increment manually ...
+1
Sweet :)
--
underground experts united
https://dataswamp.org/~incal
next prev parent reply other threads:[~2021-09-22 14:27 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-11 13:15 How to rename files to numbers in Eshell? Felix E. Klee
2021-09-11 13:40 ` Jean Louis
2021-09-12 8:44 ` Felix E. Klee
2021-09-12 19:03 ` Jean Louis
2021-09-13 9:28 ` Jean Louis
2021-09-13 11:52 ` tomas
2021-09-14 7:42 ` Felix E. Klee
2021-09-14 9:17 ` Jean Louis
2021-09-14 9:32 ` tomas
2021-09-14 11:11 ` Felix E. Klee
2021-09-14 13:37 ` Jean Louis
2021-09-14 15:48 ` Felix E. Klee
2021-09-16 22:37 ` Michael Heerdegen
2021-09-16 22:47 ` Michael Heerdegen
2021-09-17 7:27 ` Felix E. Klee
2021-09-24 7:21 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-09-25 13:43 ` Jean Louis
2021-09-26 2:50 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-09-30 6:38 ` Felix E. Klee
2021-09-30 7:37 ` Jean Louis
2021-09-30 7:50 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-09-30 13:17 ` Felix E. Klee
2021-09-30 15:34 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-09-30 21:42 ` Jean Louis
2021-10-01 0:09 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-01 20:51 ` Jean Louis
2021-10-01 21:34 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-02 7:53 ` Lack of integration in Emacs - it was " Jean Louis
2021-10-03 8:16 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-03 9:27 ` Jean Louis
2021-10-04 3:29 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-04 10:15 ` Jean Louis
2021-10-04 11:22 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-09-22 14:46 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-09-22 14:27 ` Emanuel Berg via Users list for the GNU Emacs text editor [this message]
2021-09-16 12:15 ` Felix E. Klee
2021-09-16 15:11 ` Nick Dokos
2021-09-16 16:07 ` Felix E. Klee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k0j8lm71.fsf@zoho.eu \
--to=help-gnu-emacs@gnu.org \
--cc=moasenwood@zoho.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).