Pergunta

I am using the PowerShell Copy-Item command to copy a directory with files to another location.

I want to display all the files on the console that are getting copied so that I know the status of the copy command.

Foi útil?

Solução

If you just want to see that in console, use the -verbose switch:

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

If you want to get a list of files or directories:

$files = copy-item -path $from -destination $to -passthru | ?{$_ -is [system.io.fileinfo]}

Outras dicas

$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++
}

I suggest to try it this way:

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

Here the messages go to the output stream/pipeline rather than the verbose stream/pipeline and so will work more generally such as in TFS task scripts.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top