2011-05-08 62 views
12

我想要使用Copy-Item將整個文件夾複製到另一個文件夾。使用Copy-Item複製文件夾 - 不同的行爲

我的源文件夾c:\base包含了一些文件:

├───base  
│  file1.txt 
│  file2.txt 

我用下面的命令:

Copy-Item c:\base c:\target -recurse

如果目標文件夾(c:\target)存在,命令複製源文件夾完全一樣我想要:

├───target 
│ └───base  
│   file1.txt 
│   file2.txt 

如果目標文件夾不存在,該命令將創建目標文件夾(正是我想要的),但現在只複製源文件夾的內容(不base文件夾):

├───target  
│  file1.txt 
│  file2.txt 
  • 爲什麼會發生?
  • 如何在不創建目標文件夾之前使用此複製命令(附加鍵?)?

回答

9

這是一個已知的bug(功能有些人會說):

http://groups.google.com/group/microsoft.public.windows.powershell/msg/[email protected]microsoft.com

這種行爲IMO,是 提供者和對象管道 模型PowerShell使用的artifiact。你有 習慣了 導航上下文與其他shell相比有點奇怪 ;它是 明確而不是隱含的,因爲 文件系統是可以使用的許多 上下文之一。這帶來 與它的一些奇怪的行爲,因爲 任何給定的路徑的各項指標均 與 PowerShell的通用語法的組合和 命令本身來處理,而不是作爲 完全由命令 殼處理像command.com /cmd.exe。

+0

您應該提供發佈到答案中的實際解決方案。 – JesseNewman19 2017-05-03 03:44:58

相關問題