Here’s something I can’t figure out: When using dired to manage files, let’s say I have a top level directory with a ton of subdirectories, each with a GoPro video inside (unique name/time/date for each file name). How do I move them all at once to that top level directory for easier management/renaming? I don’t want to have to go into each directory and move them one at a time with R. Let’s say all of the files are MP4 or HEVC.

  • arthurno1B
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    You don’t need to move files around just to bulk rename them. If you want to do it, sure, you can, but you don’t have to.

    In your top level directory:

    1. C-u C-x d (alternatively C-u M-x dired)

    You will be in minibuffer now. Be sure dired listing switches have -l and -R option; -l is probably already there among anything else you might use; just type space and add -R at the end and type Return (Enter)

    Now you will have a Dired buffer with al the subdirectories and files in them listed in the same buffer.

    1. C-x C-q in Dired to switch to WDired mode (I have bound it in my Emacs to C-S-r for easier typing)

    You are now in “writeable dired” mode where you can edit all file names as if it were an ordinary text buffer. You can also use replace-string for example to replace a part of the name in all filenames at once, regex-replace, etc. You can do it manually, or whatever else you would do in a text buffer.

    1. C-c C-c to save your changes when you are done; all files will be updated.