powershell:复制类型及其路径值的文件

powershell:复制类型及其路径值的文件,powershell,Powershell,我需要将所有文件服务器PST及其文件夹路径复制到另一个位置。 我做了以下几件事 Get-ChildItem D: -recurse -include *.pst | copy-item -destination z:\ 但这导致创建了类似文件名的副本 我需要副本来写出路径名(它的主文件夹,这样路径名将有助于轻松拥有) 有什么建议吗?您可以在复制项上使用-recurse和-force标志。它可能会创建文件夹结构。如果没有,您可以使用newitem创建该结构,只需做一点工作。如果你正在寻找这样的答

我需要将所有文件服务器PST及其文件夹路径复制到另一个位置。 我做了以下几件事

Get-ChildItem D: -recurse -include *.pst | copy-item -destination z:\
但这导致创建了类似文件名的副本

我需要副本来写出路径名(它的主文件夹,这样路径名将有助于轻松拥有)


有什么建议吗?

您可以在复制项上使用-recurse和-force标志。它可能会创建文件夹结构。如果没有,您可以使用newitem创建该结构,只需做一点工作。如果你正在寻找这样的答案(也就是说,你想复制文件夹结构),请用更多的细节更新你的问题,你会得到一个关于这个问题的答案

如果我只是为每个PST寻找一个唯一的名称,我会做的是将全名转换为Z:上的文件名,如下所示:

$psts = Get-ChildItem D:\ -recurse -include "*.pst"

$psts | % {
     Copy-Item $_.FullName -Destination ($_.FullName.Replace("D:\","Z:\").Replace("\","-"))
}

它可能很凌乱,但应该是独特的。

举个例子说明你想要什么,例如source=D:\somefolder\anotherfolder\some.pst,destination=“与源路径相同”\some.pst,这有帮助吗?谢谢-不知道为什么我没有第一次尝试,好的旧机器人很有魅力!robocopy c:\test\c:\test1*.pst/eUsing PowerShell使我不喜欢使用标准的cmdline实用程序,因为它们不像cmdlet那样生成丰富的输出。直到我尝试添加服务依赖项(sc.exe,在PowerShell中几乎不可能)或takeown和icacls。有些事情需要简单一些。