Append to file names in a loop with Powershell
-
20-12-2019 - |
Question
Desired functionality
file1.txt -> file1.txt.deploy
file2.txt -> file2.txt.deploy
Attempt #82
Get-ChildItem | ForEach-Object {
Rename-Item -NewName { $_.Name + ".deploy" }
}
Cannot evaluate parameter NewName because its argument is specified as a script block and there is no input
What am I doing wrong?
Solution
If you use ForEach-Object
you need to pipe in the actual object with $_
:
Get-ChildItem | ForEach-Object {
Rename-Item $_ -NewName { $_.Name + ".deploy" }
}
Or just skip the ForEach-Object
as BartekB mentions in comments:
Get-ChildItem | Rename-Item -NewName { $_.Name + ".deploy" }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow