Skip to main content
replaced quote with code markup, to avoid underscore→emphasis markdown interpretation
Source Link
Emperor XLII
  • 13.5k
  • 11
  • 69
  • 78

I want to replace all space characters into "_" in names of all subfolders and files. Unfortunately when I type:

Get-ChildItem -recurse -name | ForEach-Object { Rename-Item $_ $.replace(" ","") }

Get-ChildItem -recurse -name | ForEach-Object { Rename-Item $_ $_.replace(" ","_") } 

Error message:

Rename-Item : Source and destination path must be different. At line:1 char:60

  • Get-ChildItem -recurse -name | ForEach-Object { Rename-Item <<<< $_ $.replace(" ","") }
    • CategoryInfo : WriteError: (PATH_HERE) [Rename-Item], IOException
    • FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand

How I should improve this short code?

I want to replace all space characters into "_" in names of all subfolders and files. Unfortunately when I type:

Get-ChildItem -recurse -name | ForEach-Object { Rename-Item $_ $.replace(" ","") }

Error message:

Rename-Item : Source and destination path must be different. At line:1 char:60

  • Get-ChildItem -recurse -name | ForEach-Object { Rename-Item <<<< $_ $.replace(" ","") }
    • CategoryInfo : WriteError: (PATH_HERE) [Rename-Item], IOException
    • FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand

How I should improve this short code?

I want to replace all space characters into "_" in names of all subfolders and files. Unfortunately when I type:

Get-ChildItem -recurse -name | ForEach-Object { Rename-Item $_ $_.replace(" ","_") } 

Error message:

Rename-Item : Source and destination path must be different. At line:1 char:60

  • Get-ChildItem -recurse -name | ForEach-Object { Rename-Item <<<< $_ $.replace(" ","") }
    • CategoryInfo : WriteError: (PATH_HERE) [Rename-Item], IOException
    • FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand

How I should improve this short code?

Source Link
matandked
  • 1.6k
  • 5
  • 26
  • 56

replace names of all directiories and files in PS

I want to replace all space characters into "_" in names of all subfolders and files. Unfortunately when I type:

Get-ChildItem -recurse -name | ForEach-Object { Rename-Item $_ $.replace(" ","") }

Error message:

Rename-Item : Source and destination path must be different. At line:1 char:60

  • Get-ChildItem -recurse -name | ForEach-Object { Rename-Item <<<< $_ $.replace(" ","") }
    • CategoryInfo : WriteError: (PATH_HERE) [Rename-Item], IOException
    • FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand

How I should improve this short code?