gpt4 book ai didi

Powershell 移动和重命名文件

转载 作者:行者123 更新时间:2023-12-03 16:58:35 25 4
gpt4 key购买 nike

我需要交换一些文件的名称。这些文件位于同一位置,因此我计划将它们移动到集结地以避免两个文件具有相同名称。我正在尝试根据名称参数识别文件,将其移至暂存区并重命名。

我想使用类似以下的东西:

Get-ChildItem ".\" -Recurse | Where-Object { $_.Name -like "*XYZ*"} | Move-Item -Force -Destination "C:\new\" | Rename-Item -NewName { $_.Name -replace 'XYZ','ABC' }

文件移动,但不重命名。我无法将 move-item 传送到 rename-item 吗?

我很高兴知道是否有更好的方法可以在不移动的情况下交换两个文件的文件名,但也想知道为什么上述方法不起作用。

谢谢!

最佳答案

默认情况下,Move-Item 不会沿管道传递当前对象。

您可以使用 -Passthru 开关来获得该功能:

Move-Item -Force -Destination "C:\new\" -Passthru

或者,您可以通过将 Move-item 目标设为文件来删除 Rename-Item:

Get-ChildItem ".\" -Recurse |
Where-Object { $_.Name -like "*XYZ*"} |
Move-Item -Force -Destination "C:\new\$($_.Name -replace 'XYZ','ABC')"

关于Powershell 移动和重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53071814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com