Microsoft included a batch rename feature in the latest version of
Windows allowing you to select multiple files, right click on one and
select rename. All of the selected files will be renamed with the name
you provided and a number. This functionality works well for basic files
but does not provide any flexibility in exactly how the files are
numbered and also does not allow the file extension to be changed.
Windows PowerShell, which is included in Windows starting with Vista and 2008 Server and available for XP, provides the raw tools to allow you to perform batch file renames. The trick is to pipe the output of one command into another command allowing you to connect the functionality to produce a useful outcome.
The two PowerShell commands needed for batch file renaming are dir (which is an alias for get-childitem) and rename-item.
To get started I suggest copying all the files you need to rename to a separate directory. Then, open up Windows PowerShell and navigate to the directory with the CD command.
Depending on how you want to rename the files there are a few different techniques:
Windows PowerShell, which is included in Windows starting with Vista and 2008 Server and available for XP, provides the raw tools to allow you to perform batch file renames. The trick is to pipe the output of one command into another command allowing you to connect the functionality to produce a useful outcome.
The two PowerShell commands needed for batch file renaming are dir (which is an alias for get-childitem) and rename-item.
To get started I suggest copying all the files you need to rename to a separate directory. Then, open up Windows PowerShell and navigate to the directory with the CD command.
Depending on how you want to rename the files there are a few different techniques:
Changing the File Extension of all .jpeg files to .jpg
Dir *.jpeg | rename-item -newname { $_.name -replace ".jpeg",".jpg" }
In the above example the $_ represents each item passed to the rename-item command via the pipe | from the dir command. Appending a File Extension
Dir | rename-item -newname { $_.Name +".jpg" }
File Rename with Customizable Increasing Number
Dir *.jpg | ForEach-Object -begin { $count=1 } -process { rename-item $_ -NewName "image$count.jpg"; $count++ }
In the example we needed to use an additional command known as
foreach-object that allows you to set a variable (our counter) before
looping through each file in the directory and then do an action for
each item. The result of the above example are files named image1.jpg,
image2.jpg and so on.
0 reactions:
Post a Comment