如何在 PowerShell 中使用 Move-Item 仅影响目录?

如何在 PowerShell 中使用 Move-Item 仅影响目录?

我正在展平一个目录,并且想移动目录项,但保持文件不变。

不幸的是,目录和文件之间没有可以通配符匹配的独特模式。我想知道是否可以告诉Move-Item只检查目录(或另一方面是文件)。

检查此输出Get-Help -Name Move-Item似乎不可能直接实现(即通过 之类的参数-ItemType)。我首先想到的是,可以使用 hack 来实现此目的,例如-Exclude *.*,但我想要一个更强大的解决方案。谢谢。

答案1

你不应该只看函数本身,记住 PowerShell 具有强大的管道功能。若要仅移动目录,请先过滤它们,然后将其导入Move-Item,例如:

Get-ChildItem -Path C:\Some\Dir -Directory | Move-Item -Destination C:\Other\Dir

-Directory开关Get-ChildItem意味着只能找到文件夹的子项。

相关内容