Вставить дату-время в имя создаваемых папки, файла, …
Вставить дату-время в имя создаваемых папки, файла, …
Мудрые сисопы научили меня когда-то датировать временные директории, где создаешь временные файлы. Это избавляет от бесконечных директорий New, New1, !, !!, !!!, 1 и т.д., поиска в них, атакже мучительных решений о том, не пора ли стереть, нужны ли эти файлы, как отличить файлы, которые в работе, от старых и пр.
Если мне нужна временная директория, я делаю C:\ZZZ\050617, например. Старые не трогаю, только грохаю изредка большие файлы, которые могут там оказаться, чтобы освободить место.
Очень бы не помешал макрос, который создал бы такую директорию, если ее еще нет, и перешел бы на нее в активной панели.
Вероятно, это очень просто, однако нужно изучить язык макросов, что меня делать ломает, честно говоря.
Спасибо!
Если мне нужна временная директория, я делаю C:\ZZZ\050617, например. Старые не трогаю, только грохаю изредка большие файлы, которые могут там оказаться, чтобы освободить место.
Очень бы не помешал макрос, который создал бы такую директорию, если ее еще нет, и перешел бы на нее в активной панели.
Вероятно, это очень просто, однако нужно изучить язык макросов, что меня делать ломает, честно говоря.
Спасибо!
Last edited by HaRT on Wed 09 Jan, 2013 11:55, edited 1 time in total.
Reason: Изменён заголовок Темы
Reason: Изменён заголовок Темы
REGEDIT4
[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\ShiftF7]
"Sequence"="F7 $Date \"%j %b-%d %H.%M.%S\" Enter"
"DisableOutput"=dword:00000001
@="Create timestamp dir"
У меня это делается так. Первая цифра - это день от начала года. Мне так почему-то удобнее.
Можешь заменить скажем на "%Y-%m0-%d %H.%M.%S"
[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\ShiftF7]
"Sequence"="F7 $Date \"%j %b-%d %H.%M.%S\" Enter"
"DisableOutput"=dword:00000001
@="Create timestamp dir"
У меня это делается так. Первая цифра - это день от начала года. Мне так почему-то удобнее.
Можешь заменить скажем на "%Y-%m0-%d %H.%M.%S"
Сейчас лучше родить такой вариант:
Может, можно как-то по более нормальному спозиционировать курсор на существующую директорию?
Code: Select all
[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\ShiftF7]
"Sequence"="$If (fexist(Date(\"%Y.%m0.%d\"))) Alt> $date \"%Y.%m0.%d\" Esc $Else F7 $date \"%Y.%m0.%d\" $End"
"DisableOutput"=dword:00000001
"Description"="Создать каталог с именем текущей даты или спозиционировать туда курсор, если такой уже есть"
Как создать каталог, названный "2012-10-29"?
приветствую!
имею:
Far Manager, version 3.0 (build 2890) x86
хочу:
создать папку с текущей датой в качестве наименования (например, "20121029")
записываю макрос: "F7 a Enter"
в последний момент, когда открывается диалог завершения записи макроса, я меняю строку с "F7 a Enter" на строку
Keys("F7 $Date \"%Y%m0%d\" Enter")
На запуск такого макроса я получаю отлуп "Incorrect folders list"
указание даты без формата, просто Keys("F7 $Date Enter"), не исправляет ошибки.
ранее, в фарах версий 1 и 2 я такой каталог создать мог.
нынче имею ощущение, что макрос $Date не работает.
как победить в третьем фаре
имею:
Far Manager, version 3.0 (build 2890) x86
хочу:
создать папку с текущей датой в качестве наименования (например, "20121029")
записываю макрос: "F7 a Enter"
в последний момент, когда открывается диалог завершения записи макроса, я меняю строку с "F7 a Enter" на строку
Keys("F7 $Date \"%Y%m0%d\" Enter")
На запуск такого макроса я получаю отлуп "Incorrect folders list"
указание даты без формата, просто Keys("F7 $Date Enter"), не исправляет ошибки.
ранее, в фарах версий 1 и 2 я такой каталог создать мог.
нынче имею ощущение, что макрос $Date не работает.
как победить в третьем фаре
Last edited by HaRT on Mon 29 Oct, 2012 11:17, edited 1 time in total.
Reason: Уплотнено по вертикали
Reason: Уплотнено по вертикали
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Как создать каталог, названный "2012-10-29"?
Code: Select all
win.CreateDir(os.date("%Y_%m_%d_%H_%M_%S")) panel.UpdatePanel(nil,1,true) panel.RedrawPanel(nil,1)
Re: Как создать каталог, названный "2012-10-29"?
Спасибо!
Есть ли возможность оставить курсор панели на этом новом каталоге?
Есть ли возможность оставить курсор панели на этом новом каталоге?
Re: Как создать каталог, названный "2012-10-29"?
или аналог того, что было
'идеологически неправильный', но если каталог уже есть будет диалог, и нет секундной задержки перед появлением каталога в пассивной панели (если она == активной). ну и курсор там, где ожидается.
Code: Select all
Keys('F7'); print(mf.date("%Y%m0%d")); Keys('Enter')
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Как создать каталог, названный "2012-10-29"?
конечно есть.exec228 wrote:Есть ли возможность оставить курсор панели на этом новом каталоге?
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Макрос для создания датированной временной папки
panel.GetPanelInfo/panel.GetPanelItem/panel.RedrawPanelexec228 wrote:Каким образом?
Re: Макрос для создания датированной временной папки
я сторонник того, что при изменении файлов/директорий пользователь должен дать утвердительный ответ:
гляньте http://forum.farmanager.com/viewtopic.php?f=15&t=7075 использовать в качестве примера можно почти всё, Лунные макросы смотрите в конце обсуждения или по ссылке первого поста.
Code: Select all
--[[1]]--Создание папки с именем = текущая дата. © SimSU
-- Назначается, например, на F7 в панелях (история в F7 всё равно мало полезна {как бы добавить исторю из создания папки в копирование и перемещение?}).
--
NameFormat="%Y_%m_%d"
--
Keys("F7") print(os.date(NameFormat)) Keys("Home ShiftEnd")
Last edited by SUSim on Tue 30 Oct, 2012 16:13, edited 2 times in total.
SimSU ··· ·· -- ··· ··-