Описание команды


modfs

Изменение времени модификации, создания, последнего доступа для файлов и каталогов.

modfs=%L, %WL||LISTF<>||PS<>||FOLDC<>||FOLDM<>||LISTC<>||cliplist||$var_aa||$GLOBALNAME||Number||NewDate!!Change, ||Dialogs, ||<info>, ||ListDate, ||progres<>, ||[tc], ||folder<>, ||folders<>, ||test<>, ||readonly<>, ||recurse<>, ||clpget

Параметры:

1-й обязательный параметр. Может иметь несколько вариантов:
%L,
%WL
Список выделенных объектов.
Также может использоваться путь к файлу списка полных путей объектов %P%N. см. Дополнение №7 или с:\List.txt
LISTF<>Список заданных объектов. см. Дополнение №22.
PS<>Список объектов каталога. см. Дополнение №22.
FOLDC<>Список объектов содержимого каталогов. см. Дополнение №22.
FOLDM<>Список выделенных объектов и всех объектов в подпапках. см. Дополнение №22.
LISTC<>Список объектов из выделенных без дубликатов. см. Дополнение №22.
cliplistСписок полных путей объектов из буфера обмена.
$var_aaМассив. Переменная $var_a... - массив путей, созданный в команде exect
$GLOBALNAMEМассив. Список путей глобальной переменной см. Дополнение №23.
2-й обязательный параметр.
NumberУсловие. Где Number:
0 - дата модификации.
1 - дата создания.
2 - дата последнего доступа.
Если необходимо изменить несколько дат, то через запятую прописываются нужные номера дат.
3-й обязательный параметр.
NewDate!!ChangeНовая дата. Параметр NewDate!!Change , где:
NewDate может иметь несколько вариантов:
Дата берётся из заданной даты, формат: YYYYMMDDHHNNSS
Знаки разделителей не имеют значения, главное порядок, где:
  YYYY - все четыре цифры года.
  MM - месяц от 01 до 12.
  DD - день месяца от 01 до 31.
  HH - часы в 24-часовом формате от 00 до 23.
  NN - минуты от 00 до 59.
  SS - секунды от 00 до 59.
Дата берётся из самого объекта:
  0 - дата модификации.
  1 - дата создания.
  2 - дата последнего доступа.
  3 - минимальная дата из 3-х (модификации, создания, доступа).
  4 - максимальная дата из 3-х (модификации, создания, доступа).
Дата модификации берётся из заданного объекта:
Параметр [mdata=PathObject], где PathObject - путь к объекту.
Дата создания берётся из заданного объекта:
Параметр [cdata=PathObject], где PathObject - путь к объекту.
Дата последнего доступа берётся из заданного объекта:
Параметр [adata=PathObject], где PathObject - путь к объекту.
Дата берётся из текущей даты системы:
Параметр #SISDATE.
Дата последнего доступа берётся из дат объектов папки:
Параметр <xfolder>. см. Дополнение №11.

Изменение даты. Change - [необязательный]: Подпараметр (+-=)(ymdhnsw)(number), где:
(+ - =) - условие изменения:
  + - увеличить.
   - - уменьшить.
  = - оставить.
(ymdhnsw) - что изменять:
  y - год.
  m - месяц.
  d - день.
  h - часы.
  n - минуты.
  s - секунды.
  w - недели (w при = не используется).
(number) - число на сколько изменять.
Дополнительные параметры:
DialogsДиалоги. см. Дополнение №18
  Описание
Различные параметры диалогов.
  [input] - диалог ввода информации в InputBox.
  [richinput] - диалог ввода информации в RichInputBox.
  [combo] - диалог выбора информации в ComboBox.
  [group] - диалог выбора информации в GroupBox.
  [check] - диалог выбора информации в CheckBox.
  [edits] - диалог выбора информации в EditBox.
  [sfold] - выбор каталога.
  [zfold] - выбор каталогов.
  [sopen] - выбор файла для открытия.
  [ssave] - выбор файла для сохранения.
  [sicon] - диалог просмотра и выбора значка.
  [msgbx] - окно сообщения MsgBox.
  [updwn] - диалог выбора числовой информации UpDown.
  [image] - диалог выбора изображения.
  [elect] - диалог выбора файлов и папок.
...и другие диалоги.
<info>Получение различной информации. см. Дополнение №10.
ListDateИзменение из списка дат. Параметр list<ListDate/cliplist>, где:
ListDate - файл со списком дат в формате YYYYMMDDHHNNSS (знаки разделителей не имеют значения, главное порядок).
cliplist - список дат из буфера обмена.
progres<>Прогресс бар. Параметр progres<> - если указан, то при операции будет вызван прогресс бар.
Учитывается ключ MsBoxAtTheCompletion в TCIMG.ini в секции [Setting].
[tc]Расширенный аналог параметров Total Commander. см. Дополнение №12
folder<>Поиск подобного файла в заданной папке. Параметр folder<FOLDER>, где:
FOLDER - папка, в которой будет производится поиск объекта.
folders<>Поиск подобного объекта. Параметр folders<Path1|Path2> позволяет произвести поиск подобного объекта в структуре папки Path2 относительно структуры папки Path1 для получении заданной даты, где:
  Path2 - путь к папке, в которой ищется подобный объект.
  Path1 - путь объекта, относительно которой ищется.
test<>Проверка прохождения объекта под определённые условия. см. Дополнение №16.
readonly<>Файлы только для чтения. Параметр readonly<Number>, где Number:
  1 - преобразовывать файлы с атрибутом "только для чтения"
  0 - не преобразовывать (по умолчанию)
recurse<>Флаг рекурсии. Параметр recurse<Number>, где Number:
  0 - без рекурсии (по умолчанию).
  1 - все вложенные каталоги также будут обработаны.
clpgetИз буфера обмена. Параметр clpget может использоваться совместно с другими параметрами, clpget будет заменён содержимым буфера обмена.

Примечания:

Команда имеет возможность передавать другим командам информацию через именные глобальные переменные. см. Дополнение №23

Имя переменнойОписание
GLOBALMODFS0массив входных данных (список исходных путей объектов, которым изменяются даты)
GLOBALMODFSмассив выходных данных (список полных путей исходных объектов)
GLOBALMODFS1массив изменённых объектов (список путей объектов, которым изменены даты)
GLOBALMODFS2массив неизменённых объектов (список путей объектов, которым не изменены даты)

Аналог команды для одного объекта modft

См. также:

modft, modfx

Примеры:
 Как создать кнопку?

exect=$var_s=##@[tc=TA]||$var_p=StringRight('$var_s',1)='\'?'$var_s':'''' copyy=$f250TCIMGU.lng||$f250//1||**1!!?.bkk xends=[tc=TG]??1 rends=@$var_p??1||&&^(.).*!!$1||??2 textt=$f250TCIMGU.lng||§CKBU20GLOBALRENDS<1>§!!~~GLOBALXENDS<1>©$var_p©<+>$var_p<+>§CKBU20GLOBALRENDS<1>§ shape=U7 slist=%WL modfs=GLOBALSLIST<t>||0,1||#SISDATE cmdcm=[check=BOX_U20] sends=GLOBALCHECK1<t>??-1 cmdcm=[group=BOX_U17] cmdcm=[group=BOX_U18] cmdcm=[group=BOX_U21] ;; копирование и перемещение выделенных объектов с выбором папок назначения в диалоговом окне

global copys=%UL||"%t"//1 modfs=FOLDC<$GLOBALCOPYS1//1//-3>||1,2||folders<"%t"|"%p">||upd<3> ;; копировать выделенные объекты в другую панель (заменяя объекты) с сохранением даты создания и последнего доступа для всех объектов (кроме коренных папок)

global copys=%UL||"%t"//1 modfs=FOLDM<$GLOBALCOPYS1//0//-1>||0,1,2||folders<"%t"|"%p">||progres<>||upd<3> ;; копировать выделенные объекты в другую панель (заменяя объекты) с сохранением даты модификации, создания и последнего доступа для всех объектов

global copyy=%P%N||"%t"//1 modfs=FOLDM<$GLOBALCOPYY1//0//-1>||0,1,2||folders<"%t"|"%p">||progres<>||upd<3> ;; копировать объект под курсором другую панель (заменяя объекты) с сохранением даты модификации, создания и последнего доступа для всех объектов

imgpr=1 modfs=PS<%P%N//2//-1>||0||folders<"%p"|"%t">||progres<> ;; в папке под курсором для всех папок с рекурсией изменить дату модификации на дату модификации подобных папок в структуре другой панели

itray=3 slist=%WL <FOR> 1 <TO> GLOBALSLIST<0> modfs=PS<GLOBALSLIST<:INDEX:>//1>||0||<mdata=GLOBALSLIST<:INDEX:>> <NEXT> ;; для всех файлов каждой выделенной папки изменить дату модификации на дату модификации родительской папки

marks=%Zlist<%%COMMANDER_PATH%%\Files\Lists\MarkerList\MarkerList.txt> modfs=[tc=AL]||0,1||#SISDATE||upd<1> marks=[tc=AL] ;; выделить из указанного списка файлы, изменить им дату на текущую, обновить панель сохраняя выделение

modfs=%L||0,1,2||#SISDATE ;; изменить выделенным объектам дату модификации, дату создания и дату последнего доступа на системную дату

modfs=%L||0,1,2||folder<"%t"> ;; изменить выделенным объектам дату модификации, дату создания, дату последнего доступа на дату модификации, дату создания и дату последнего доступа подобных именных объектов другой панели

modfs=%L||0,1,2||folder<c:\Test> ;; изменить выделенным объектам дату модификации, дату создания, дату последнего доступа на дату модификации, дату создания и дату последнего доступа подобных именных объектов, находящихся в папке c:\Test

modfs=%L||0,1||#SISDATE ;; изменить выделенным объектам дату модификации и дату создания на системную дату

modfs=%L||0,1||<info=v22:://>||upd<1> ;; изменить выделенным исполняемым файлам (exe ...) дату модификации и дату создания на внутреннюю дату (TimeDateStamp)

modfs=%L||0,1||1!!-h1-n40 ;; изменить выделенным объектам время модификации и время создания на время создания уменьшенную на 1 час 40 минут

modfs=%L||0,1||2 ;; изменить выделенным объектам дату модификации и дату создания на дату последнего доступа

modfs=%L||0,1||folder<"%t"> ;; изменить выделенным объектам дату модификации и дату создания на дату модификации и дату создания подобных именных объектов другой панели

modfs=%L||0,1||folder<c:\Test> ;; изменить выделенным объектам дату модификации и дату создания на дату модификации и дату создания подобных именных объектов, находящихся в папке c:\Test

modfs=%L||0,2||#SISDATE ;; изменить выделенным объектам дату модификации и дату последнего доступа на системную дату

modfs=%L||0||#SISDATE!!=d[input] ;; изменить дату модификации выделенным объектам на системную с корректировкой числа месяца в диалоговом окне

modfs=%L||0||#SISDATE!!=m05=d15 ;; изменить выделенным объектам дату модификации на системную дату, изменив месяц на 5-й, а день на 15-й

modfs=%L||0||#SISDATE!!=y2008 ;; изменить выделенным объектам дату модификации на системную дату, изменив год на 2008

modfs=%L||0||#SISDATE!!=y2008-d15 ;; изменить выделенным объектам дату модификации на системную дату, изменив год на 2008 и уменьшив на 15 дней

modfs=%L||0||#SISDATE!!-d15 ;; изменить выделенным объектам дату модификации на системную дату, уменьшенную на 15 дней

modfs=%L||0||#SISDATE!!-h200 ;; изменить выделенным объектам дату модификации на системную дату, уменьшенную на 200 часов

modfs=%L||0||#SISDATE!!-m5 ;; изменить выделенным объектам дату модификации на системную дату, уменьшенную на 5 месяцев

modfs=%L||0||#SISDATE!!-n1000 ;; изменить выделенным объектам дату модификации на системную дату, уменьшенную на 1000 минут

modfs=%L||0||#SISDATE!!-s5000 ;; изменить выделенным объектам дату модификации на системную дату, уменьшенную на 5000 секунд

modfs=%L||0||#SISDATE!!-w50 ;; изменить выделенным объектам дату модификации на системную дату, уменьшенную на 50 недель

modfs=%L||0||#SISDATE!!-y2 ;; изменить выделенным объектам дату модификации на системную дату, уменьшенную на 2 года

modfs=%L||0||#SISDATE!!-y2+m5+d15-w5-n1000 ;; изменить выделенным объектам дату модификации на системную дату, уменьшенную на 2 года, 5 недель и 1000 секунд, увеличенную на 5 месяцев и 15 дней

modfs=%L||0||#SISDATE!!-y2-w5 ;; изменить выделенным объектам дату модификации на системную дату, уменьшенную на 2 года и 5 недель

modfs=%L||0||#SISDATE ;; изменить выделенным объектам дату модификации на системную дату

modfs=%L||0||#SISDATE||progres<> ;; изменить выделенным объектам дату модификации на системную дату с отображением прогресса

modfs=%L||0||#SISDATE||readonly<1> ;; изменить выделенным объектам дату модификации на системную дату, включая файлы с атрибутом "Только чтение"

modfs=%L||0||#SISDATE||recurse<1> ;; изменить выделенным объектам дату модификации на системную дату (для папок применяется рекурсия, т.е. все подкаталоги так же обрабатываются)

modfs=%L||0||[input=BOX34] ;; изменить выделенным объектам дату модификации на дату, вводимую в диалоге

modfs=%L||0||[mdata=%T%M] ;; изменить выделенным объектам дату модификации на дату модификации объекта в другой панели

modfs=%L||0||<adata=%T%M>!!=y2010 ;; изменить выделенным объектам дату модификации на дату последнего доступа объекта в другой панели, изменив год на 2010

modfs=%L||0||<adata=%T%M>!!-m5 ;; изменить выделенным объектам дату модификации на дату последнего доступа объекта в другой панели, уменьшенную на 5 месяцев

modfs=%L||0||<adata=%T%M> ;; изменить выделенным объектам дату модификации на дату последнего доступа объекта в другой панели

modfs=%L||0||<cdata=%T%M>!!=y2010 ;; изменить выделенным объектам дату модификации на дату создания объекта в другой панели, изменив год на 2010

modfs=%L||0||<cdata=%T%M>!!-m5 ;; изменить выделенным объектам дату модификации на дату создания объекта в другой панели, уменьшенную на 5 месяцев

modfs=%L||0||<cdata=%T%M> ;; изменить выделенным объектам дату модификации на дату создания объекта в другой панели

modfs=%L||0||<mdata=%T%M>!!=y2010 ;; изменить выделенным объектам дату модификации на дату модификации объекта в другой панели, изменив год на 2010

modfs=%L||0||<mdata=%T%M>!!-m5 ;; изменить выделенным объектам дату модификации на дату модификации объекта в другой панели, уменьшенную на 5 месяцев

modfs=%L||0||<mdata=%T%M> ;; изменить выделенным объектам дату модификации на дату модификации объекта в другой панели

modfs=%L||0||<xfolder=1//"%p"> ;; изменить выделенным объектам дату модификации на дату модификации самого старого файла в текущей папке

modfs=%L||0||<xfolder=1//::> ;; изменить выделенным папкам дату модификации на дату модификации самого старого файла в каждой папке

modfs=%L||0||<xfolder=2//"%p"> ;; изменить выделенным объектам дату модификации на дату создания самого старого файла в папке в текущей папке

modfs=%L||0||<xfolder=3//"%p"> ;; изменить выделенным объектам дату модификации на дату последнего доступа самого старого файла в текущей папке

modfs=%L||0||<xfolder=4//"%p"> ;; изменить выделенным объектам дату модификации на дату модификации самого нового файла в текущей папке

modfs=%L||0||<xfolder=4//::> ;; изменить выделенным папкам дату модификации на дату модификации самого нового файла в каждой папке

modfs=%L||0||<xfolder=41//::> ;; изменить выделенным папкам дату модификации на дату модификации самого старого объекта в каждой папке

modfs=%L||0||<xfolder=5//"%p"> ;; изменить выделенным объектам дату модификации на дату создания самого нового файла в папке в текущей папке

modfs=%L||0||<xfolder=6//"%p"> ;; изменить выделенным объектам дату модификации на дату последнего доступа самого нового файла в текущей папке

modfs=%L||0||0!!=d15 ;; изменить выделенным объектам дату модификации на дату модификации, изменив день на 15-й

modfs=%L||0||0!!=m09=d02 ;; изменить выделенным объектам дату модификации, изменив месяц на 9-й, а день на 2

modfs=%L||0||1!!-h1-n40 ;; изменить выделенным объектам время модификации на время создания уменьшенную на 1 час 40 минут

modfs=%L||0||1!!-h2 ;; изменить выделенным объектам дату модификации на дату создания, уменьшенную на 2 часа

modfs=%L||0||1 ;; изменить выделенным объектам дату модификации на дату создания

modfs=%L||0||2 ;; изменить выделенным объектам дату модификации на дату последнего доступа

modfs=%L||0||2012/12/12~~00:00:00 ;; изменить выделенным объектам дату модификации на 2012/12/12 00:00:00

modfs=%L||0||2012\12\12-00:00:00 ;; изменить выделенным объектам дату модификации на 2012/12/12 00:00:00

modfs=%L||0||2012-12-12~~00:00:00 ;; изменить выделенным объектам дату модификации на 2012/12/12 00:00:00

modfs=%L||0||20121212000000 ;; изменить выделенным объектам дату модификации на 2012/12/12 00:00:00

modfs=%L||0||3 ;; изменить выделенным объектам дату модификации на меньшую дату из 3-х (модификации, создания, доступа)

modfs=%L||0||4 ;; изменить выделенным объектам дату модификации на большую дату из 3-х (модификации, создания, доступа)

modfs=%L||0||folder<"%t"> ;; изменить выделенным объектам дату модификации на дату модификации подобных именных объектов другой панели

modfs=%L||0||folder<c:\Test> ;; изменить выделенным объектам дату модификации на дату модификации подобных именных объектов, находящихся в папке c:\Test

modfs=%L||0||folders<"%p"|"%t">||progres<> ;; для выделенных объектов изменить дату модификации на дату модификации подобных объектов в структуре другой панели

modfs=%L||0||list<cliplist> ;; изменить выделенным объектам дату модификации списком дат из буфера обмена

modfs=%L||1,2||#SISDATE ;; изменить выделенным объектам дату создания и дату последнего доступа на системную дату

modfs=%L||1||#SISDATE ;; изменить выделенным объектам дату создания на системную дату

modfs=%L||1||0 ;; изменить выделенным объектам дату создания на дату модификации

modfs=%L||1||1!!-h1||upd<1> ;; изменить выделенным объектам дату создания на дату создания, уменьшенную на 1 час

modfs=%L||1||1!!-h1-n40 ;; изменить выделенным объектам время создания на время создания уменьшенную на 1 час 40 минут

modfs=%L||1||clpget ;; изменить выделенным объектам дату создания на дату из буфера обмена в формате YYYYMMDDHHNNSS

modfs=%L||2||#SISDATE ;; изменить выделенным объектам дату последнего доступа на системную дату

modfs=cliplist||0||#SISDATE ;; изменить для всех элементов списка из буфера обмена дату модификации на системную дату

modfs=FOLDC<%L//0//-1>||0||folders<"%p"|"%t">||progres<> ;; в выделенных папках найти все файлы и изменить дату модификации на дату модификации подобных файлов в структуре другой панели

modfs=FOLDC<%L//0//-2>||0||folders<"%p"|"%t">||progres<> ;; в выделенных папках найти все каталоги и изменить дату модификации на дату модификации подобных каталогов в структуре другой панели

modfs=FOLDM<%L//0//-1>||0||#SISDATE ;; изменить дату модификации выделенным каталогам и их содержимому на системную дату

modfs=LISTF<c:\test1.txt/c:\test2.txt/c:\test3.txt>||0,1,2||#SISDATE ;; изменить файлам c:\test1.txt, c:\test2.txt, c:\test3.txt дату модификации, дату создания и дату последнего доступа на системную дату

modfs=PS<%P%N//1//0>||0,1||folder<%T%M> ;; изменить файлам каталога под курсором в активной панели дату модификации и дату создания на дату модификации и дату создания подобных именных файлов каталога в другой панели

modfs=PS<%P%N//1//0>||0||folder<%T%M> ;; изменить файлам каталога под курсором в активной панели дату модификации на дату модификации подобных именных файлов каталога в другой панели

modfs=PS<%P%N//1>||0||<mdata=%P%N> ;; для всех файлов папки под курсором изменить дату модификации на дату модификации папки под курсором

modfs=PS<c:\каталог2\//1//0>||0||folder<c:\каталог1\> ;; изменить файлам каталога c:\каталог2\ дату модификации на дату модификации подобных именных файлов каталога c:\каталог1\

sends=FOLDC<%UL//0//-3>??-1 bends=<xfolder=41//$GLOBALSENDS> modfs=%UL||0||GLOBALBENDS<1> ;; изменить выделенным папкам дату модификации на дату модификации самого старого объекта в выделенных папках

slist=%WL <FOR> 1 <TO> GLOBALSLIST<0> zlist=PS<GLOBALSLIST<:INDEX:>//1//0//nfo> exect=$var_path='GLOBALZLIST<1>'=''''?'GLOBALSLIST<:INDEX:>':'GLOBALZLIST<1>' modfs=PS<GLOBALSLIST<:INDEX:>//1>||0||<mdata=$var_path> <NEXT> ;; для всех файлов каждой выделенной папки изменить дату модификации с условием: если в папке есть файл .nfo, то дата модификации берётся из этого файла, если нет, то из родительской папки

slist=FOLDM<%L//0//-1>||"%P"!! strct="%t"||$GLOBALSLIST||progres<> modfs=$GLOBALSTRCT||0,1,2||folders<"%t"|"%p">||progres<>||upd<3> ;; создать пустую структуру выделенных объектов в другой панели, отсекая родительский путь с сохранением даты модификации, создания и последнего доступа для всех объектов

zlist=PS<%P%N//1//0//nfo> exect=$var_path='GLOBALZLIST<1>'=''''?'%P%N':'GLOBALZLIST<1>' modfs=PS<%P%N//1>||0||<mdata=$var_path> ;; для всех файлов папки под курсором изменить дату модификации с условием: если в папке есть файл .nfo, то дата модификации берётся из этого файла, если нет, то из папки под курсором


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru