![](/img/trans.png)
[英]Copying folder contents preserving the folder structure using powershell script
[英]Powershell is copying a folder's contents, but neglecting to copy the folder
我的文件結構類似於:
OldLocation/A、OldLocation/B、OldLocation/C 和 OldLocation/D
我想將文件夾 A、B 和 D 移動到 NewLocation(連同它們的內容)。 我有以下代碼:
$Copyfiles = Get-ChildItem -Path $folder -Directory -Exclude 'C'
foreach ($item in $Copyfiles)
{
Copy-Item -Path $item -Recurse -Force -Destination $Dest
}
我想要的目標是最終得到 NewLocation/A/A 的東西,NewLocation/B/B 的東西,NewLocation/D/D 的東西
它似乎幾乎可以工作,唯一的掛斷是由於某種原因它只復制文件夾 A 的內容,而不是文件夾本身。 因此,我得到了 NewLocation/A 的東西、NewLocation/B/B 的東西和 NewLocation/D/D 的東西
我怎樣才能解決這個問題?
確保目標目錄預先存在,因為Copy-Item
在復制整個目錄時的行為不同,具體取決於目標目錄是否已經存在:
如果不存在,源目錄的內容將復制到按需創建的目標目錄。
如果確實存在,則將整個源目錄作為子目錄復制到目標目錄。
有關背景信息,請參閱此答案。
您可以使用以下命令確保目標目錄$Dest
存在,使用New-Item
的-Force
開關進行期望狀態邏輯:它將按需創建目標目錄(並返回System.IO.DirectoryInfo
實例,描述新創建的或預先存在的目錄)。
$null = New-Item -Type Directory -Force $Dest
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.