Get-ChildItem通过管道传递到Copy-Item并重命名到同一目录

问题描述 投票:0回答:2

我正在尝试将特定文件夹中某个扩展名的文件批量复制/重命名为带有前缀的相同文件夹。我确信这是我自己的Powershell经验不足造成的问题。我根本不知道如何设置命令。

我正在尝试将扩展名为.mxd的所有文件放在一个文件夹中,并将它们从something.mxd重命名为prefix_something.mxd

我很确定第一部分很好:Get-ChildItem * .mxd但是我不知道如何足够好地使用Copy-Item。我的理解是-Destination是放置新文件名的位置,因此我该如何输入(“当前文件夹\前缀” + $ _。Name +“ .mxd”)?]

我确定我只是缺少一些关键点才能使它正常工作。我得到的只是一个“ prefix_.mxd”文件。它与Get-ChildItem列表中的最后一个文件的大小相同。但是,如果我重新启用foreach循环,它将要求提供路径值。我想念什么?

powershell get-childitem copy-item
2个回答
0
投票

喜欢吗?重命名项目的文档也有类似的示例。

dir *.mxd | rename-item -newname { 'prefix_' + $_.name } -whatif

0
投票

愚蠢。我必须使用大括号{}而不是使用括号()来强制scriptblock,并且可以通过以前缀开头来跳过当前文件夹的路径。

© www.soinside.com 2019 - 2024. All rights reserved.