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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Переименовать файл

Ответить
Настройки темы
[решено] Переименовать файл

Новый участник


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

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


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

Отправлено: 14:00, 05-01-2010

 

Аватара для Creat0R

Must AutoIt


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

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


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

Код: Выделить весь код
FileMove("file", @MON & StringRight(@YEAR, 2) & "a")

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 14:38, 05-01-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


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

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


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

Отправлено: 15:14, 05-01-2010 | #3


Аватара для Creat0R

Must AutoIt


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

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


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

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 15:23, 05-01-2010 | #4


Новый участник


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

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


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

Отправлено: 15:50, 05-01-2010 | #5


Аватара для Creat0R

Must AutoIt


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

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


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

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 16:13, 05-01-2010 | #6


Новый участник


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

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


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

Отправлено: 16:22, 05-01-2010 | #7


Аватара для Creat0R

Must AutoIt


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

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


Цитата 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)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

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

Отправлено: 16:55, 05-01-2010 | #8


Новый участник


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

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


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

Отправлено: 17:17, 05-01-2010 | #9


Аватара для Creat0R

Must AutoIt


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

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


Цитата cra5h_:
в этом скрипте если заканчиваются символы из $sChars то они заново заполняются в не зависимости от того закончился день(или сменилась дата) или нет. »
Ну вообще то задача была поставлена очень смутно, опиши поэтапно что должен делать скрипт.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 17:29, 05-01-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Переименовать файл

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
HDD - [решено] Переименовать диск в ХР ab Microsoft Windows 2000/XP 28 28-04-2017 10:45
Vista / 2008 - [решено] Как переименовать встроенную запись Администратора haker-kirik Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 4 11-06-2010 02:08
Разное - [решено] Как переименовать учетную запись? maxrain Microsoft Windows Vista 13 09-01-2010 21:30
[решено] Переименовать шару в сети tehnik_srs AutoIt 2 07-01-2010 14:19
[решено] Как переименовать файл в AutoIt? evg64 AutoIt 4 21-12-2009 08:09




 
Переход