web-dev-qa-db-ja.com

PowerShellでコピーされるファイルのリストを取得する

PowerShellを使用していますCopy-Itemコマンドを使用して、ファイルのあるディレクトリを別の場所にコピーします。

コピーされているすべてのファイルをコンソールに表示して、コピーコマンドのステータスを確認したい。

26
tusharmath

コンソールでそれを表示したいだけの場合は、-verboseスイッチ:

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

ファイルまたはディレクトリのリストを取得したい場合:

$files = copy-item -path $from -destination $to -passthru | ?{$_ -is [system.io.fileinfo]}
34
Jackie
$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++
}
4
Loïc MICHEL

私はこの方法を試してみることをお勧めします:

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

ここで、コピーメッセージは詳細なストリーム/パイプラインではなく出力ストリーム/パイプラインに送られるため、TFSタスクスクリプトなどでより一般的に機能します。

0
Martin Connell