我有關於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
的新路徑。
有人能解釋我做錯了什麼,並解釋我解決這個問題的正確方法嗎?