How do I change the extension of many files in a directory?

78,039

On Windows, go to the desired directory, and type:

ren *.txt *.c

In PowerShell, it is better to use the Path.ChangeExtension method instead of -replace (thanks to Ohad Schneider for the remark):

Dir *.txt | rename-item -newname { [io.path]::ChangeExtension($_.name, "c") }

For Linux (Bash):

for file in *.txt
do
 mv "$file" "${file%.txt}.c"
done
Share:
78,039
Admin
Author by

Admin

Updated on July 14, 2022

Comments

  • Admin
    Admin almost 2 years

    Suppose I have a large number of files in a directory with .txt extension.

    How can I change the extension of all these files to .c using the following command line environments:

    • Powershell in Windows
    • cmd/DOS in Windows
    • The terminal in bash
  • Timo
    Timo over 3 years
    Does the % in Bash work like a separator to end the string? like $ in regex?
  • fartwhif
    fartwhif over 2 years
    Dir -Recurse for recursive search