考虑这个目录结构:
C:\temp\A\file.txt
C:\temp\B
如果我运行命令
Copy-Item "C:\temp\A" "C:\temp\B\A" -Recurse -Force -ErrorAction Stop
I have
C:\temp\A\file.txt
C:\temp\B\A\file.txt
如果从这个新情况开始,我第二次运行相同的命令,我最终会得到
C:\temp\A\file.txt
C:\temp\B\A\file.txt
C:\temp\B\A\A\file.txt
为什么我运行相同的命令但结果不同?
在第一种情况下目标文件夹C:\temp\B\A
不存在,所以Copy-Item
创建(缺少的)目标文件夹并将源文件夹的内容复制到其中。
在第二种情况下,目标文件夹已经存在,因此Copy-Item
将整个源文件夹(包括文件夹本身)复制到(现有)目标文件夹。
为了避免这种情况,请确保在复制之前目标文件夹存在或不存在(取决于您是否希望将源文件夹复制到“目标”或“作为”目标)。使用Test-Path https://technet.microsoft.com/de-de/library/hh849776.aspx检查目的地是否存在以及New-Item https://technet.microsoft.com/en-us/library/hh849795.aspx创建丢失的文件夹。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)