我正在使用PowerShell Copy-Item命令将包含文件的目录复制到另一个位置。我希望显示控制台上正在复制的所有文件,以便了解复制命令的状态。
Copy-Item
ubof19bj1#
如果您只想在控制台中看到它,请使用-verbose开关:
-verbose
copy-item -path $from -destination $to -verbose
如果要获取文件或目录的列表:
$files = copy-item -path $from -destination $to -passthru | ?{$_ -is [system.io.fileinfo]}
mxg2im7a2#
$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++ }
vlf7wbxs3#
我建议这样试试:
(Copy-Item -Verbose C:\SrcDir\*.* c:\DstDir 4>&1).Message
在这里,消息转到输出流/管道,而不是冗长的流/管道,因此将更普遍地工作,例如在TFS任务脚本中。
oxiaedzo4#
如果你想直接输出文件名,你可以这样做:
带路径
Copy-Item -Path $from -Destination $to –PassThru | ForEach-Object { Write-Host $_.FullName }
仅限文件名
Copy-Item -Path $from -Destination $to –PassThru | ForEach-Object { Write-Host $_.Name }
4条答案
按热度按时间ubof19bj1#
如果您只想在控制台中看到它,请使用
-verbose
开关:如果要获取文件或目录的列表:
mxg2im7a2#
vlf7wbxs3#
我建议这样试试:
在这里,消息转到输出流/管道,而不是冗长的流/管道,因此将更普遍地工作,例如在TFS任务脚本中。
oxiaedzo4#
如果你想直接输出文件名,你可以这样做:
带路径
仅限文件名