ファイル収集スクリプト †コピー元ディレクトリ配下の全ファイルをコピー先ディレクトリに重複排除、同名はリネームしながらコピーします。 使用方法 †PowerShell? -F ./fCopy.ps1 関連ページ †ファイル名: fCopy.ps1 [string]$fromDir = "G:\from" [string]$toDir = "G:\to" [string]$fName = "" [string]$ext = "" [string]$bName = "" [int]$fCnt = 0 [int]$fSize = 0 Get-ChildItem $fromDir -Recurse -include *.* -Name | ForEach-Object { $fName = @(Split-Path $_ -Leaf) if( Test-Path "$($toDir)\$($fName)" ) { $fSize = (Get-ChildItem "$($fromDir)\$($_)").Length if( $fSize -eq (Get-ChildItem "$($toDir)\$($fName)").Length ) { echo "同一ファイルのためコピーしません。$($fromDir)\$($_) → $($toDir)\$($fName)" $fName = "dumm565656565" } else { $cnt = 0 while( Test-Path "$($toDir)\$($fName)$($cnt.ToString("0000"))" ) { $cnt++ } $ext = (Get-ChildItem "$($fromDir)\$($_)").Extension $bName = (Get-ChildItem "$($fromDir)\$($_)").BaseName $fName = "$($bName)_$($cnt.ToString("0000"))$($ext)" } } if( $fName -ne "dumm565656565" ){ Copy-Item "$($fromDir)\$($_)" "$($toDir)\$($fName)" echo "コピーしました。$($fromDir)\$($_) → $($toDir)\$($fName)" } } 参考ページ † |