簡體   English   中英

Powershell 正在復制文件夾的內容,但忽略了復制文件夾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM