Вставить дату-время в имя создаваемых папки, файла, …

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Макрос для создания датированной временной папки

Post by SUSim »

Latest post of the previous page:

2useven10 wrote:для os.date() %m0 это mm0
поправил предыдущий пост, спасибо!
SimSU ··· ·· -- ··· ··-
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Re: Макрос для создания датированной временной папки

Post by 2useven10 »

надо просто %m :)
имелось ввиду, что для %m0 будут напечатаны две цифры номера месяца и '0'
Last edited by 2useven10 on Tue 30 Oct, 2012 16:04, edited 1 time in total.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Макрос для создания датированной временной папки

Post by SUSim »

а он точно даст две цыфры? (январь=01)
SimSU ··· ·· -- ··· ··-
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Re: Макрос для создания датированной временной папки

Post by 2useven10 »

Code: Select all

C:\...s\far\far3\unicode_far\Debug.64.vc\LocalProfile>date
The current date is: 30.09.2012
Enter the new date: (dd-mm-yy)

C:\...s\far\far3\unicode_far\Debug.64.vc\LocalProfile>lua
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> print(os.date("%Y-%m-%d"))
2012-09-30
>
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Макрос для создания датированной временной папки

Post by SUSim »

ок еще раз поправил, впрочем на работе я так и сделал ещё утром, только забыл...
SimSU ··· ·· -- ··· ··-
exec228
Posts: 9
Joined: Tue 01 Jun, 2010 22:29
Has thanked: 1 time

Re: Макрос для создания датированной временной папки

Post by exec228 »

Всем огромное спасибо!
dimic
Posts: 1
Joined: Tue 25 Dec, 2012 23:34

Вставить дату-время в имя создаваемых папки, файла, …

Post by dimic »

как можно при создании архива указать дату_и_время как часть его имени (оч. полезно для бэкапов)? ранее с Far2 и Rar я добивался этого параметрами для rar.exe:

Code: Select all

-ag" - "YYYY.MM.DD" "HH.MM.SS
как это возможно с 7zip? (очень надеюсь, что всё-таки есть разумный способ делать это)
погуглив, я нашёл как добиться этого в виндовой консоли (используя %DATE% %TIME%) но в фаре эти переменные не работают
Last edited by HaRT on Wed 09 Jan, 2013 11:53, edited 1 time in total.
Reason: Изменён заголовок Темы
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: arclite — работа с архивами на основе 7-Zip

Post by zg »

dimic wrote:как можно при создании архива указать дату_и_время как часть его имени (оч. полезно для бэкапов)?
как-то так:

Code: Select all

Macro
{
  area="Shell";key="CtrlShiftF1";flags="DisableOutput";description="arclite: backup";
  action=function()
    local F=far.Flags
    Keys("ShiftF1")
    local info=far.AdvControl(F.ACTL_GETWINDOWINFO,-1,0)
    if info and info.Type==F.WTYPE_DIALOG then
      local id=info.Id
      local focus=far.SendDlgMessage(id,F.DM_GETFOCUS,0,0)
      local text=far.SendDlgMessage(id,F.DM_GETTEXT,focus,0)
      text=os.date("%Y_%m_%d_%H_%M_%S_")..text
      far.SendDlgMessage(id,F.DM_SETTEXT,focus,text)
      far.SendDlgMessage(id,F.DM_EDITUNCHANGEDFLAG,focus,1)
    end
  end
}
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: arclite — работа с архивами на основе 7-Zip

Post by HaRT »

dimic wrote:указать дату_и_время как часть
Лично я предпочитаю вставку подобного текста назначать на какое-либо кнопкосочетание в масштабах всей системы, чтобы пользоваться этим не только в Фаре.
Фар есть инструмент, а не нянька. © 2009 DrKnS
SINL
Posts: 50
Joined: Mon 06 Apr, 2009 19:17

Re: arclite — работа с архивами на основе 7-Zip

Post by SINL »

Чистая полная установка 3.0.3067 x64, делаю архив, как имя файла беру пример из встроенного хелпа

Code: Select all

archive-?date("%x")?.7z
и получаю


Что за беда и как лечить? Или в хелпе всё ещё старый текст? В 2779 x86 в чистой установке всё работало нормально -- пример из хелпа работал.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: arclite — работа с архивами на основе 7-Zip

Post by zg »

SINL wrote:Что за беда и как лечить? Или в хелпе всё ещё старый текст?
да. сейчас надо писать:

Code: Select all

archive-?mf.date("%x")?.7z
SINL
Posts: 50
Joined: Mon 06 Apr, 2009 19:17

Re: arclite — работа с архивами на основе 7-Zip

Post by SINL »

О, спс, работает.

Проверку на приемлемость формата даты как имени файла можно ещё сделать?

Стоят сшанские regional options -- дата 1/9/2013, фар тоже с английским интерфейсом, пакую, получаю:

2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Re: arclite — работа с архивами на основе 7-Zip

Post by 2useven10 »

формат даты можно задать самому. например: mf.date("%Y.%m0.%d") или os.date("%Y.%m.%d")
User avatar
Alexander84
Posts: 147
Joined: Fri 01 May, 2009 06:38
Has thanked: 16 times
Been thanked: 2 times

Вставить дату-время в имя создаваемых папки, файла, …

Post by Alexander84 »

Ребят, в меню пользователя (F2) есть команда, которая находит кусочек текста и добавляет к нему текущую дату.
@ripgrep "Сегодня:" -r "Сегодня: YYYY-MM-DD"
Как вместо YYYY-MM-DD подставить вызов lua (или ещё чего из комплекта Фара) для получения текущей даты?
Вписываю lua:print(os.date("%Y-%m-%d")) или ?mf.date("…")? — не работает, а обычный %date% даёт DD.MM.YYYY.
Временно остановился на перетасовке %date:~6,4%-%date:~3,2%-%date:~0,2%, но это не универсальный вариант.
Last edited by Alexander84 on Fri 25 Nov, 2022 21:55, edited 16 times in total.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Вставить дату-время в имя создаваемых папки, файла, …

Post by HaRT »

Alexander84 wrote: Fri 25 Nov, 2022 21:02 lua:print(os.date("%Y-%m-%d")) или ?mf.date("…")? — не работает
Попытайтесь наоборот, не вписывать с помощью Луа внутрь командной строки, а выполнять команду, полностью сформированную скриптом: @lua:print('ripgrep […]'..os.date());Keys'Enter'
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Нужна помощь”