Что нового

[Файловая система] Простая сортировка, не работает

xlgrgrc

Знающий
Сообщения
91
Репутация
7
Всем привет.

Все было замечательно, но вот понадобилось рассортировать фото на работе.
Суть: берется папка, берется первый файл фото, смотрим у него высоту и ширину, и в зависимости от этого меняем имя файла.

Код:
#Include <File.au3>
#include <GDIPlus.au3>
$newname = 0
$aA = _FileListToArray(@ScriptDir, '*.jpg', 1)
$Dir = @ScriptDir
;~  (@ScriptDir  & '\' & '-pp1.jpg', @ScriptDir & '\' & '-pp.jpg',1)

for $i = 1 to $aA[0]

_GDIPlus_Startup()
$sLFile = $aA[$i]
FileSetAttrib ( @ScriptDir & '\' &$sLFile, "+N" )
$hBitmap = _GDIPlus_BitmapCreateFromFile($sLFile)
$W = _GDIPlus_ImageGetWidth($hBitmap)
$H = _GDIPlus_ImageGetHeight($hBitmap)

If $w > $h Then
	$q=  $aA[$i]
	$q1 = '1W' & $aA[$i]
;~ 	MsgBox (0,@ScriptDir  & '\'& $q,@ScriptDir  & '\'& $q1)
	FileMove($Dir  & '\'& $q, $Dir  & '\'& $q1)
Else
	$q=  $aA[$i]
	$q1 = '2H' & $aA[$i]
;~ 	MsgBox (0,@ScriptDir  & '\'& $q,@ScriptDir  & '\'& $q1)
	FileMove($Dir  & '\'& $q, $Dir  & '\'& $q1)
EndIf

_GDIPlus_Shutdown()

next
Exit


И все то работает. И файлы видит, и определяет размеры. Но ни как не переименовывает файл. Справку курил, форум перелопалил весь. Чего только не пробовал. Просидел уже четыре часа. Осталось два варианта. Лечь спать или сюда написать.
Я понимаю что ошибка скорее всего в строчке
Код:
FileMove($Dir  & '\'& $q, $Dir  & '\'& $q1)

НО не могу её увидеть.

Ткните носом пожалуйста!!!
 
Автор
X

xlgrgrc

Знающий
Сообщения
91
Репутация
7
Да заработало. Я только не понял почему нужно объект освобождать? Только если
Код:
_GDIPlus_BitmapCreateFromFile

Держит объект в памяти и в итоге я не могу ни чего с ним сделать. Как то сам и не додумался сразу(((

Почему то грешил на перенос файла

Спасибо!
 
Верх