- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-05-28T21:30:26+09:00","default:Authors","Authors")
#author("2018-05-29T00:10:45+09:00","default:Authors","Authors")
''[[TopPage]]''
* ファイル収集スクリプト [#t3e7ade7]
コピー元ディレクトリ配下の全ファイルをコピー先ディレクトリに重複排除、同名はリネームしながらコピーします。~
** 使用方法 [#y16642f4]
PowerShell -F ./fCopy.ps1~
fromDirとtoDirを指定します。~
ポリシーで実行できない場合はpowershell -ExecutionPolicy RemoteSigned~
** 関連ページ [#ib4c903e]
~
ファイル名: fCopy.ps1
[string]$fromDir =
[string]$toDir =
[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)"
}
}
*** 参考ページ [#y3729b39]
~
https://qiita.com/alchemist/items/e6706cd425f8f5e5032e~