30

我正在使用 PowerShellCopy-Item命令将包含文件的目录复制到另一个位置。

我想在控制台上显示所有被复制的文件,以便我知道复制命令的状态。

4

3 回答 3

47

如果您只想在控制台中看到它,请使用-verbose开关:

copy-item -path $from -destination $to -verbose

如果要获取文件或目录的列表:

$files = copy-item -path $from -destination $to -passthru | ?{$_ -is [system.io.fileinfo]}
于 2012-12-11T10:23:44.343 回答
5
$source=ls c:\temp *.*
$i=1
$source| %{
    [int]$percent = $i / $source.count * 100
    Write-Progress -Activity "Copying ... ($percent %)" -status $_  -PercentComplete $percent -verbose
    copy $_.fullName -Destination c:\test 
    $i++
}
于 2012-12-11T08:10:48.743 回答
2

我建议这样尝试:

(Copy-Item -Verbose C:\SrcDir\*.* c:\DstDir 4>&1).Message

在这里,消息进入输出流/管道而不是详细流/管道,因此将更普遍地工作,例如在 TFS 任务脚本中。

于 2018-03-29T17:50:56.410 回答