Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


Сообщения: 1986
Благодарности: 723

Профиль | Сайт | Отправить PM | Цитировать


Цитата MKN:
но отсчёт начинается почему то с 2 »
Я же в посте выше всё описал...
Цитата K.A.V.:
Ещё один момент, когда перечисляешь все файлы в папке командой Find*, в переменную имени файла сбрасывается значение "." и "..", из-за чего счетчик так же может быть не правильным, проверку на эти значения я так же прописал »
Код: Выделить весь код
outfile rename_enumerate-test.exe
Var /global n

Section
StrCpy $n 0
ClearErrors
FindFirst $0 $1 $EXEDIR\D\*.*
loop:
StrCmp $1 "" done
StrCmp $1 "." next
StrCmp $1 ".." next
Rename "$EXEDIR\D\$1" "$EXEDIR\D1\$1"
Rename "$EXEDIR\D1\$1" "$EXEDIR\D1\0$n"
IntOp $n $n + 1
next:
FindNext $0 $1
Goto loop
done:
FindClose $0
SectionEnd
p.s.
а зачем, вообще, ты 2 раза команду прописываешь? одной разве не достаточно?
Код: Выделить весь код
Rename "$EXEDIR\D\$1" "$EXEDIR\D1\0$n"

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]


Последний раз редактировалось K.A.V., 01-04-2015 в 19:10.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:02, 01-04-2015 | #1552