为什么会
gci $from -Recurse | copy-item -Destination $to -Recurse -Force -Container
不能以相同的方式行事
copy-item $from $to -Recurse -Force
我认为应该是一样的,但不知何故它并不相同。为什么呢?
为什么会
gci $from -Recurse | copy-item -Destination $to -Recurse -Force -Container
不能以相同的方式行事
copy-item $from $to -Recurse -Force
我认为应该是一样的,但不知何故它并不相同。为什么呢?
你没有遍历文件/文件夹集合中的每个项目,而是将最后一个值传递给管道。您需要使用Foreach-item或%来执行Copy-Item命令。此外,由于已经在GCI中拥有每个项目,因此您也不需要第二个-recurse开关。
请尝试以下操作:
gci $from -Recurse | % {copy-item -Path $_ -Destination $to -Force -Container }
gci $from -Recurse
不应该获取目录中的所有文件并将它们通过管道传输吗? - Dejan Dakić$_
吗?在我的 PS 5.0 上无法运行。
实际命令为:gci $from -Recurse | % { copy-item $_ -Destination $to -Force }
- kumarharshGet-ChildItem -Path .\ -Recurse -Include *.txt | %{Join-Path -Path $_.Directory -ChildPath $_.Name } | Copy-Item -Destination $to
Join-Path
,而是在Copy-Item
中使用$_.FullName
。 - WhatIsHeDoingGet-ChildItem 'c:\source\' -Recurse | % {Copy-Item -Path $_.FullName -Destination 'd:\Dest\' -Force -Container }
开关设置错误。应该是:
gci -Path $from -Recurse | copy-item -Destination $to -Force -Container
gci -Path $from -Recurse | % { $_ | copy-item -Destination $to -Force -Container}
只需使用 foreach 循环并再次对每个项目进行管道处理。