PowershellがプレインストールされているWindows 7/8を使用すると仮定します。
このPowershellスクリプトは、ソースフォルダー($source
)から宛先フォルダー($dest
)にファイルをコピーします。
必要なファイルを$filter
配列でフィルタリングします(例:写真やビデオのみ)。
- 新しいフォルダはに変更されます
<destination_folder\old_subfolders\YYYY\YYYY-MM-DD>
- 新しいファイル名はに変更されます
<YYYY-MM-DD hh.mm.ss oldfilename.extension>
すべての行にコメントが付けられており、意図的にエイリアスを使用したことはありません。
### set input folder
$source = "C:\My Dropbox\Camera Uploads"
### set output folder
$dest = "C:\Users\<USERNAME>\My Pictures"
### set which file types to include/copy
$filter = @("*.png", "*.jpg", "*.jpeg")
### retrieve all files from source folder and pipe them to copy
Get-ChildItem $source -include $filter -recurse | foreach {
### build new destination folder string (syntax: destination folder + old subfolders + year + year-month-day)
$destSub = $_.directoryname.Replace($source, $dest +'\'+ $_.CreationTime.Year +'\'+ $_.CreationTime.ToString("yyyy-MM-dd"))
$destSub
### check if new destination folder exists, otherwiese create new subfolder(s)
if (-not (Test-Path -literalpath $destSub)) { New-Item $destSub -Type Directory }
### build new file name string (syntax: new destination folder + year-month-date hours.minutes.seconds + oldname.extension)
$destName = $destSub +'\'+ $_.CreationTime.ToString("yyyy-MM-dd hh.mm.ss") + ' ' + $_.name
$destName
### copy source file to new file name
copy-item -literalpath $_.Fullname -destination $destName
}
まず、copy-item
コマンドでスクリプトをテストします。後で、置き換えることができcopy-item
てmove-item
。