unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
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




  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).