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?

有帮助吗?

解决方案

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" }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top