Home > Blockchain >  rename batch of files
rename batch of files

Time:07-16

is there a way rename multiple items in a way that words switch place or move word to the end of the phrase/item name ?

ABCD 12550.txt into 12550 ABCD.txt

im assuming this will start with Rename-Item, but what then?

There is a space between words/phrases

CodePudding user response:

Use Rename-Item with a delay-bind script block, in which you can parse and reconstruct each file name.

The following example uses the -replace operator to match and capture the base file name's first word as well as the remaining one(s), and reverses their order (effectively moves the first word to the end):

Get-ChildItem *.txt |
  Rename-Item -WhatIf -NewName { 
    ($_.BaseName -replace '^(\S )  (. )', '$2 $1')   $_.Extension
  }

Note: The -WhatIf common parameter in the command above previews the operation. Remove -WhatIf once you're sure the operation will do what you want.

  • Related