如何获得使用复制项目复制的文件的数量

时间:2018-06-19 16:25:36

标签: powershell

我正在使用Copy-Item命令将多个文件从一个位置复制到另一位置。这样,我想获得复制到目标位置的文件数。

如果无法完成上述操作,那么如果至少复制了一个文件,我们可以得到“ True”,如果没有一个文件被复制,我们可以得到“ False”。 我试过了,但无法获得确切的结果。

谢谢, 迪尼什

2 个答案:

答案 0 :(得分:1)

如果使用-Verbose并重定向/捕获详细流,则可以计算从详细消息中复制的文件。看起来像

# run copy with -Verbose and capture stream 4 which is the verbose stream
$vml = Copy-Item -Recurse $srcPath -Destination $destPath -Verbose 4>&1
# Find all the messages with 'Copy File' in them
($vml -match "Copy File").Count

您可能还想使用-ErrorVariable copyErrors捕获任何错误。

答案 1 :(得分:1)

使用-passthru为通常以静默方式运行的命令创建输出。

(Copy-Item -Recurse $srcPath -Destination $destPath -passThru).count