Получить список файлов, которые копируются в PowerShell
Я использую команду PowerShell Copy-Item
для копирования каталога с файлами в другое место.
Я хочу отобразить все файлы на консоли, которые копируются, чтобы я знал статус команды копирования.
Ответы
Ответ 1
Если вы просто хотите увидеть это на консоли, используйте переключатель -verbose
:
copy-item -path $from -destination $to -verbose
Если вы хотите получить список файлов или каталогов:
$files = copy-item -path $from -destination $to -passthru | ?{$_ -is [system.io.fileinfo]}
Ответ 2
$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++
}
Ответ 3
Я предлагаю попробовать это так:
(Copy-Item -Verbose C:\SrcDir\*.* c:\DstDir 4>&1).Message
Здесь сообщения о копировании идут в выходной поток/конвейер, а не в подробный поток/конвейер, и поэтому будут работать более широко, например, в сценариях задач TFS.