我有关于MS PowerShell的Split-Path
和Join-Path
cmdlet的问题。我想将整个目录从文件夹(包括其中的所有文件夹和文件)C:\Testfolder
复制到文件夹C:\TestfolderToReceive
。拆分路径+加入路径功能
对于这个任务,我用下面的代码:它
$sourcelist = Get-ChildItem $source -Recurse | % {
$childpath = split-path "$_*" -leaf -resolve
$totalpath = join-path -path C:\TestfolderToReceive -childpath $childpath
Copy-Item -Path $_.FullName -Destination $totalpath
}
的问题,这直接不在C:\Testfolder
文件出现,但在子文件夹(例如:C:\Testfolder\TestSubfolder1\Testsub1txt1.txt
)。所有这些不是直接在C:\Testfolder
中的文件都通过$childpath
变量返回“null”。
例如对于文件C:\Testfolder\TestSubfolder1\Testsub1txt1.txt
,我希望它返回TestSubfolder1\Testsub1txt1.txt
,以便通过Join-Path
功能创建一个名为C:\TestfolderToReceive
的新路径。
有人能解释我做错了什么,并解释我解决这个问题的正确方法吗?