In case of renaming multiple file extensions to another, they suggested to type this command in cmd promt or powershell: ren *.(current extension name) *.(new extension name)

But what about to renaming multiple file extensions to nil or no file extension? How to replace this command *.(new extension name) ?

  • Heavybell@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    https://github.com/microsoft/PowerToys

    PowerToys has a bunch of cool features, and a bulk rename utility is one of them.

    Powershell can also do it if you feel like learning more about it. I don’t know about the command example you gave, and am away from my PC so I can’t test it, but using pipes in powershell something like this might work: ls [[insert wildcard here e.g. *.txt]] | % { mv $_ [System.IO.Path]::GetFilenameWithoutExtension($_.Name) }

    Just remove the double brackets and put whatever your filter was. The results of which get passed into % which each in turn into the code block as $_. So for every result of the ls command, it runs mv (move/rename).

  • kaitco@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    There’s an application called Ant Renamer. It’s free and I’m pretty sure it’s FOSS. Ant Renamer will let you batch rename files and even change extensions.

    That said, I’m unsure why you’d want to do this with multiple file extensions, but to each his own…

    • intensely_human@lemm.ee
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      1 year ago

      OP wants to rename some files not ants. Please read the post before responding thanks. I’m sure Ant Renamer’s great for entomological scenarios but this is a computer thing.

    • foggy@lemmy.world
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      To rename multiple file extensions to have no file extension, you can use a wildcard character to match all files with the current extension and then replace it with nothing (an empty string). Here’s the command you can use in Command Prompt or PowerShell:

      For Command Prompt:

      ren *.(current extension name) *.

      For PowerShell:

      Get-ChildItem *.(current extension name) | Rename-Item -NewName { $_.Name -replace ‘.(current extension name)$’, ‘’ }

      Replace “(current extension name)” with the actual extension you want to remove, and this command will remove the extension from all matching files

      Idk if it’s accurate but that was it’s response to OPs input

  • Brotherly@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I’m not a cmd prompt expert, but does

    ren *.(current extension name) *

    work?

    To test it, make a new directory and create 2 files there with the same extension. Then, run that code in that directory and check the result.

      • dudemanbro@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        The cmd route should work. Done it many times doing like .mp4 to .m4b. You go I to cmd (command). Type the following: cd “FILE-PATH” (without quotations). Hit enter. Then type: ren *.file-type *.file-type Example would look like: ren *.jpg *.PNG This woukd be renamed the files all from jpg to png

  • SpaceNoodle@lemmy.world
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    1 year ago
    1. Set up WSL
    2. for file in * ; do mv “$file” $(basename “$file”) ; done

    Edit: the other commenter is right, I fucked up the usage of basename.

    • FooBarrington@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      No, that doesn’t work, you have to pass the suffix you want to remove to basename:

      $ touch test.txt
      $ basename test.txt
      test.txt
      $ basename test.txt .txt
      test