在 PowerShell 中複製帶有子資料夾的資料夾
本教程將教你在 PowerShell 中複製帶有子資料夾的資料夾。
在 PowerShell 中複製帶有子資料夾的資料夾
大多數情況下,系統管理員必須執行各種檔案和資料夾操作。將資料夾內容從一個位置複製到另一個位置就是其中之一。
PowerShell 支援處理系統中不同的資料夾操作。使用 PowerShell 控制檯,你可以建立、複製、移動、重新命名和刪除資料夾。
使用複製和貼上選項或拖放功能只需單擊幾下即可輕鬆複製資料夾。但是,當你有很多資料夾要複製到各個位置時,這將需要很長時間。
你可以執行 PowerShell 指令碼或命令來自動執行資料夾複製任務。複製時,你可能還必須複製資料夾的子資料夾和內容。
在 PowerShell 中使用 Copy-Item
Cmdlet 複製帶有子資料夾的資料夾
Copy-Item
cmdlet 將專案從一個位置複製到另一個位置。你可以使用此 cmdlet 將資料夾及其內容複製到指定位置。
你將需要提供從一個地方複製到另一個地方的源和目標路徑。 -Path
引數指定要複製的專案的路徑,-Destination
引數指定應複製專案的位置。
Copy-Item
cmdlet 預設不列印任何輸出。 -PassThru
引數返回一個表示複製專案的物件。
這是將資料夾 C:\test_folder1
複製到 C:\New
的示例。
Copy-Item -Path "C:\test_folder1" -Destination "C:\New" -PassThru
輸出:
Directory: C:\New
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2/23/2022 11:43 PM test_folder1
它只複製資料夾而不復制其內容。
Get-ChildItem "C:\New"
輸出:
Directory: C:\New
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2/23/2022 11:43 PM test_folder1
-a---- 2/3/2022 12:36 PM 81 python.txt
-a---- 2/3/2022 12:36 PM 84 test.txt
你將需要使用 -Recurse
引數來執行遞迴複製。它將帶有子資料夾的資料夾的所有內容複製到指定目錄。
以下命令將資料夾 C:\test_folder1
的內容複製到目錄 C:\pc
。
Copy-Item -Path "C:\test_folder1" -Destination "C:\pc" -Recurse
現在,驗證 test_folder1
的內容是否被複制。
Get-childItem "C:\pc\test_folder1"
輸出:
Directory: C:\pc\test_folder1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2/23/2022 11:22 PM New folder
-a---- 2/23/2022 10:29 PM 0 books.txt
-a---- 2/23/2022 10:29 PM 0 hello.txt
如圖所示,所有帶有子資料夾的資料夾內容都被複制到指定位置。
如果你只想複製資料夾的內容而不是資料夾本身,則可以在源路徑中使用\*
。
例如:
Copy-Item -Path "C:\test_folder1\*" -Destination "C:\folder2" -Recurse
檢查目錄 C:\folder2
中的內容。
Get-ChildItem "C:\folder2"
如圖所示,這次沒有複製 test_folder1
,而是將其所有內容複製到目錄 C:\folder2
。
輸出:
Directory: C:\folder2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2/23/2022 11:36 PM New folder
-a---- 2/23/2022 10:29 PM 0 books.txt
-a---- 2/23/2022 10:29 PM 0 hello.txt
我們希望本教程可以幫助你使用 PowerShell 複製帶有子資料夾的資料夾。