复制项无法在Powershell中按预期方式工作

时间:2019-05-24 06:51:10

标签: powershell

我正在尝试将文件夹的子文件夹复制到目标文件夹。我正在使用以下命令:

Copy-Item  C:\ABC\XYZ -Destination D:\ABC -Recurse -ToSession $CopySession
Cop-Item C:\ABC\PQR -Destination D:\ABC -Recurse -ToSession $CopySession

结果如下:

D:\ABC
file1.txt
file2.txt
Folder1
PQR

其中XYZ文件夹的内容为:

file1.txt
file2.txt
Folder1

但是预期结果应该是这样

D:\ABC
XYZ
PQR

我在做什么错了?

2 个答案:

答案 0 :(得分:0)

尽可能使用robocopy,因为它涵盖了复制项目的所有要求,并且具有处理结点目录和符号链接的功能。

# /s - Recurse
robocopy /s C:\ABC\XYZ D:\ABC\XYZ

# /s - Recurse
robocopy /s C:\ABC\PQR  D:\ABC\XYZ

修正原始代码,目标位置错误,并且第二个复制项目中出现错字

[System.IO.Directory]::CreateDirectory('D:\ABC\XYZ')
Copy-Item  C:\ABC\XYZ -Destination D:\ABC\XYZ -Recurse -ToSession $CopySession
[System.IO.Directory]::CreateDirectory('D:\ABC\PQR')
Copy-Item C:\ABC\PQR -Destination D:\ABC\PQR -Recurse -ToSession $CopySession

答案 1 :(得分:0)

如果要“复制”树的根文件夹(XYZ),可以在该过程中创建它。

Copy-Item  C:\ABC\XYZ -Destination D:\ABC\XYZ -Recurse -ToSession $CopySession
  

示例3:将目录的内容复制到另一个目录,并创建目标目录(如果该目录不存在)。此命令将C:\ Logfiles目录的内容复制到C:\ Drawings \ Logs目录。如果尚不存在,则会创建“ \ Logs”子目录。   -Copy-Item Microsoft docs

希望对您有帮助!