Изменение даты создания файла на текущую при копировании

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

johnkz1
Сообщения: 9
Зарегистрирован: Пт окт 01, 2010 10:21

Изменение даты создания файла на текущую при копировании

Сообщение johnkz1 »

При копировании->заменить изменить дату создания файла на текущую
[mod="Avada"]Прежний заголовок "Изменение атрибутов" заменён на соответствующий реальному содержанию поста. Заодно несколько подправлена орфография.[/mod]
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

johnkz1
Если при копировании файла он не замещает собой одноимённый файл в панели-получателе, то дата создания, разумеется, будет у файла-копии текущей, и проблемы просто нет. Если выполняется перезапись старого файла новым, целевой файл остаётся при своей дате создания (откуда там вообще может взяться текущая дата создания?).
Предполагается, что в терминологии ошибок нет, и речь идёт именно о дате создания, а не модификации или последнего доступа.
Даже самая богатая фантазия
Не представит себе наши безобразия.
johnkz1
Сообщения: 9
Зарегистрирован: Пт окт 01, 2010 10:21

Сообщение johnkz1 »

Можно и дата последнего доступа...мне нужно отслеживать новые файлы
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Может, в этом случае гиганта мысли спасет команда cm_SwitchWatchDirs и ключ конфигурации WatchDirs?
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

johnkz1
Можно получить внятное объяснение, что реально означает "мне нужно отслеживать новые файлы" (раскрашивать их в целевой панели другим цветом, например) и что всё-таки точно понимается под новыми файлами?
Даже самая богатая фантазия
Не представит себе наши безобразия.
johnkz1
Сообщения: 9
Зарегистрирован: Пт окт 01, 2010 10:21

Сообщение johnkz1 »

Эта связано с работой...есть два отдела...где находятся новые чертежи не по дате...они старые прошлогодние, но по содержанию встречаются, что у меня ревизия на много позднее...эта не видно и по названию файла.....не каким цветом не чего выделять не надо..я для этого написал специальную программу, чтоб вытаскивать эти файлы...хотелось, чтоб когда я заменял свой старый файл видно было когда я его туда скопировал
johnkz1
Сообщения: 9
Зарегистрирован: Пт окт 01, 2010 10:21

Сообщение johnkz1 »

Вахмурка писал(а):Может, в этом случае гиганта мысли спасет команда cm_SwitchWatchDirs и ключ конфигурации WatchDirs?
А что конкретно делает эта команда?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

johnkz1 писал(а):А что конкретно делает эта команда?
Вот это (вторая часть диалога). И если речь идёт именно о перезаписи старых файлов новыми, то к делу слежение за каталогами не относится.
johnkz1 писал(а):хотелось, чтоб когда я заменял свой старый файл видно было когда я его туда скопировал
Кого — его? Новый файл?

И вообще, ИМХО, в подобных случаях, если уж так позарез нужна текущая дата, проще до копирования с помощью диалога изменения атрибутов у всех новых файлов подлежащих копированию, выставить текущие дату/время модификации. Хоть поодиночке, хоть скопом. А потом сразу скопировать.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

А что конкретно делает эта команда?
А руководство, блин, читать не пробовал?!!!
1) Нажать F1;
2) Перейти к пункту 4б ("Настройки ini-файлов");
3) Выбрать wincmd.ini;
4) Пролитсать до WatchDirs (по алфавиту);
5) Читать внимательно.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Я не думаю, что WatchDirs здесь поможет - эта опция позволяет лишь следить за обновлением каталога, открытого в панели. Автору же топика нужно, чтобы файлы, которые заменяют существующие, имели обновленную дату создания. Не в конкретный момент, а вообще.

Между прочим, я сейчас заметил, что не такая это и тривиальная задача. Есть файл в папке, ставлю ему старую дату создания. Заменяю файл таким же из другой папки - дата сохраняется. Заменяю путем копипастинга - дата сохраняется. Удаляю, копирую - дата сохраняется! Удаляю, копирую через командную строку - дата сохраняется! Переименовываю существующий файл со старой датой, копирую в эту папку новый - ДАТА СОХРАНЯЕТСЯ!!! Хотя файла и в помине нет! Видимо, система в каком-то кэше или где-то еще хранит атрибуты последних файлов... И только если пройдет несколько минут между удалением файла и копированием, файл появляется с настоящей датой создания.

Поэтому нужен скрипт (бат-файл не справится, так как не позволяет изменять дату создания без доп. утилит), который копирует список файлов из текущей папки в папку назначения и потом для скопированных файлов ставит текущую дату создания.

Хотя, опытным путем установил, что при выполнении пары команд del и copy дата файла обновляется, поэтому подойдет и батник. Например, такой:

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

@echo off
title Delete and copy
if -%3==- echo Wrong parameter line! Button parameters must be "%%P" "%%T" %%d && pause && goto :EOF
for /f "usebackq delims=" %%f in (%3) do (
	echo Copying "%~2%%f"...
	if exist "%~2%%f" del "%~2%%f"
	copy "%~1%%f" %2
)
pause
cls
Параметры кнопки: "%P" "%T" %d. При этом короткие DOS-имена файлов не должны быть отключены в системе. Если они отключены, можно использовать параметр %f вместо %d, но тогда будут проблемы с русскими именами.

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

А вообще, конечно, использовать такой ненадежный атрибут как дату создания - не очень удачная мысль. При копировании или перемещении файла в другую папку дата обновляется.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

MVV
Батник — это здорово, но у меня есть подозрения, что дальше неизбежно придётся объяснять товарищу, как его применить к делу. Лучше сразу код кнопки заготовить. И заодно дать ссылку на то, что с ним потом делать. :wink:
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

MVV писал(а):Я не думаю, что WatchDirs здесь поможет - эта опция позволяет лишь следить за обновлением каталога
Я исходил из слов:
мне нужно отслеживать новые файлы
Конечно, такую туманную фразу можно толковать дюжиной способов, но мне пришло в голову именно это. А его последующие пояснения все окончательно запутали (и показали, что, кроме многоточия, других знаков препинания в русском языке нет).
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
johnkz1
Сообщения: 9
Зарегистрирован: Пт окт 01, 2010 10:21

Сообщение johnkz1 »

MVV
Спасибо работает, использовал параметр %f т.к все равно русских названий там нет. Хорошо обнавлеятся дата последнего доступа ее и буду использовать. Не думал честно говоря, что мне тут помогут

[mod="Avada"]Оверквотинг убран. Если чужой пост цитируется полностью — значит его вообще не следовало цитировать.[/mod]
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Вот уж что-что, а дату последнего доступа использовать вообще категорически не рекомендую. Дата создания файла сохраняется с момента его создания, дата модификации - с момента последнего сохранения, а дата последнего доступа - вообще идиотский атрибут, изменяется, когда системе вздумается. К примеру, банальное открытие свойств файла в Проводнике уже вызывает ее обновление. Получается, открываешь свойства, чтобы посмотреть дату последнего доступа - и, на тебе, текущая дата. :lol:

johnkz1 писал(а):Не думал честно говоря, что мне тут помогут
Ну зачем же так? Здесь многие готовы помочь, просто нужно подробно объяснить, чего хочешь добиться.
johnkz1
Сообщения: 9
Зарегистрирован: Пт окт 01, 2010 10:21

Сообщение johnkz1 »

Получается, открываешь свойства, чтобы посмотреть дату последнего доступа - и, на тебе, текущая дата. :lol:

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