[решено] Переименовать файл

Аватара пользователя
cra5h_

[решено] Переименовать файл

Сообщение cra5h_ »

Помогите пожалуйста как реализовать такое переименовывание файла.

выбраный файл переименовывается и задаётся по следующему формату: текущая дата+не повторяемый за день цифра или буква (1-0, a-z), пример файлы 1209h, 0110k, 0110f, 01109.
Аватара пользователя
cra5h_

Re: [решено] Переименовать файл

Сообщение cra5h_ »

Цитата cra5h_:



не повторяемый за день цифра или буква
[решено] Переименовать файл




Что значит «за день»? как скрипт должен определять что буква не повторялась, проверять все файлы в папке?





Код:

Код: Выделить всё

FileMove("file", @MON & StringRight(@YEAR, 2) & "a")
Аватара пользователя
cra5h_

Re: [решено] Переименовать файл

Сообщение cra5h_ »

да скрипт примерно верен. по поводу символа за день - тоесть например 01 10 можно использовать только один раз символ из строки 0123465789аbcdefghijklmnopqrstuvwxyz. второй файл который будет переименовыватся 01 10 будет использовать один символ из строки 123465789аbcdefghijklmnopqrstuvwxyz (без 0) и т.д.
Аватара пользователя
Creat0R

Re: [решено] Переименовать файл

Сообщение Creat0R »

Цитата cra5h_:



тоесть например 01 10 можно использовать только один раз символ из строки
[решено] Переименовать файл




Всё равно не ясно, как следует определять, что символ уже использовался, или скрипт должен висеть в цикле и переименовывать файлы (по хоткею?), либо проверять существующие файлы?
Аватара пользователя
Creat0R

Re: [решено] Переименовать файл

Сообщение Creat0R »

нет скрипт должен срабатывать один раз при выборе файла.

следующий выбраный файл не должен иметь такое же название поэтому и поэтому в его названии должен быть другой символ.

У меня только одна идея как это сделать - после переименования файла оставшиеся не использованные символы записываются в ini файл и при запуске скрипта считываются
Аватара пользователя
cra5h_

Re: [решено] Переименовать файл

Сообщение cra5h_ »

Цитата cra5h_:



следующий выбраный файл не должен иметь такое же название
[решено] Переименовать файл




А что если просто придавать этому файлу новое (не существующее) имя, в виде: 0110_1, 0110_2 и т.д.?
Аватара пользователя
Creat0R

Re: [решено] Переименовать файл

Сообщение Creat0R »

Нет такой вариант не подходит так как не будет с чем сравнить, переименованный файл отправляется по почте и тем самым удаляется из каталога.
Аватара пользователя
cra5h_

Re: [решено] Переименовать файл

Сообщение cra5h_ »

Цитата cra5h_:



не будет с чем сравнить, переименованный файл отправляется по почте и тем самым удаляется из каталога
[решено] Переименовать файл




Тогда примерно так:





Код:

Код: Выделить всё

$sFile = FileOpenDialog("Select fie", "", "All files (*.*)")
If @error Then Exit
$sReg_Path = "HKCU\Software\" & @ScriptName
$sKey_Name = "Folder Sufix"
$sChars = "0123465789аbcdefghijklmnopqrstuvwxyz"
$sRead_Chars = RegRead($sReg_Path, $sKey_Name)
If $sRead_Chars = "" Then $sRead_Chars = $sChars
$sSufix_Char = StringLeft($sRead_Chars, 1)
RegWrite($sReg_Path, $sKey_Name, "REG_SZ", StringTrimLeft($sRead_Chars, 1))
$sPath = StringRegExpReplace($sFile, "\\[^\\]*$", "")
FileMove($sFile, $sPath & "\" & @MON & StringRight(@YEAR, 2) & $sSufix_Char)
Аватара пользователя
Creat0R

Re: [решено] Переименовать файл

Сообщение Creat0R »

спасибо и на этом.

в этом скрипте если заканчиваются символы из $sChars то они заново заполняются в не зависимости от того закончился день(или сменилась дата) или нет.

Как добавить сюда ограничение на количество переименованых файлов за день (в нашем случае 35) и разрешить переименовать файл только когда смениться дата.
Аватара пользователя
cra5h_

Re: [решено] Переименовать файл

Сообщение cra5h_ »

Цитата cra5h_:



в этом скрипте если заканчиваются символы из $sChars то они заново заполняются в не зависимости от того закончился день(или сменилась дата) или нет.
[решено] Переименовать файл




Ну вообще то задача была поставлена очень смутно, опиши поэтапно что должен делать скрипт.
Ответить

Вернуться в «AutoIt»