我正在使用Copy-Item命令将多个文件从一个位置复制到另一位置。这样,我想获得复制到目标位置的文件数。
如果无法完成上述操作,那么如果至少复制了一个文件,我们可以得到“ True”,如果没有一个文件被复制,我们可以得到“ False”。 我试过了,但无法获得确切的结果。
谢谢, 迪尼什
答案 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