Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Before running script execute this set-executionpolicy remotesigned
- # Wzorzec nazwy katalogu np. 2019_03_02
- $name_pattern = "yyyy_MM_dd"
- # Katalog wejsciowy bez '\' na koncu
- $source = "c:\Users\Domownik\Documents\ps1"
- # Katalog wyjsciowy KONIECZNIE z '\' na koncu
- $destination = "c:\Users\Domownik\Documents\ps1\"
- $shell = New-Object -ComObject Shell.Application
- $folder = $shell.namespace($source)
- clear
- Write-Host "Tworzenie katalogow i kopiowanie plików... To moze chwile zajac."
- Get-ChildItem $source | ForEach-Object {
- $_.Name
- $item = $folder.Items().Item($_.Name).ExtendedProperty("System.Photo.DateTaken")
- $date = $_.LastWriteTime.ToString($name_pattern)
- if($_.FullName -match "img_\d+_"){
- $filename = $_.FullName -split '_'
- $date = [datetime]::ParseExact($filename[1], 'yyyyMMdd', $null).ToString($name_pattern)
- }
- if($item){
- $date = $item.ToString($name_pattern)
- }
- $path = $destination + $date
- if(!(Test-Path $path)){
- mkdir $path > $null
- }
- Copy-Item -Path $_.FullName -Destination $path
- }
- Write-Host "Gotowe."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement