Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Помогите допилить скрипт сортирующий изображения (http://forum.oszone.net/showthread.php?t=244222)

dark-------13 09-10-2012 08:14 2001860

Помогите допилить скрипт сортирующий изображения
 
Здравствуйте,

Подскажите как допилить этот скрипт, чтобы одинаковые файлы из папок и вложенных папок перемещались с переименованием (чтобы постфикс добавлялся к именам одинаковых файлов).
Например - лежали файлы G.jpg и G.jpg в разных папках, при перемещении в каталог out они должны стать G_1.jpg, и G_2.jpg тд.)

Скрипт раскидывает изображения по дате последнего изменения файла (или году и месяцу если yyyy\\MM)
Код:

$Path = "c:\Test\in"
$dest = "c:\Test\out"
Get-ChildItem $Path -Recurse -include *.jpg, *.png, *.gif | ? {!$_.PSIsContainer} | copy-Item -Destination {
        md "$dest\$($_.LastWriteTime.ToString("yyyy"))" -Force
}


Kazun 09-10-2012 09:27 2001898

Код:

Get-ChildItem $Path -Recurse -include *.jpg, *.png, *.gif | ? {!$_.PSIsContainer} | copy-Item -Destination {
        $folder = "$dest\$($_.LastWriteTime.ToString("yyyy"))"
        md $folder -Force | Out-Null
        $fpath = Join-Path $folder $_.Name
        $i = 1
        while($true) {
                if (Test-Path $fpath) {
                        $fpath = "{0}\{1}_{2}{3}" -f $folder,$_.basename,$i,$_.extension
                        $i++
                }
                else {
                        $fpath
                        break
                }
        }
}


dark-------13 09-10-2012 10:16 2001921

Спасибо за помощь.


Время: 03:53.

Время: 03:53.
© OSzone.net 2001-