Страница 1 из 2
Изменение даты создания файла на текущую при копировании
Добавлено: Пт окт 01, 2010 11:28
johnkz1
При копировании->заменить изменить дату создания файла на текущую
[mod="Avada"]Прежний заголовок "Изменение атрибутов" заменён на соответствующий реальному содержанию поста. Заодно несколько подправлена орфография.[/mod]
Добавлено: Пт окт 01, 2010 12:12
Avada
johnkz1
Если при копировании файла он не замещает собой одноимённый файл в панели-получателе, то дата создания, разумеется, будет у файла-копии текущей, и проблемы просто нет. Если выполняется перезапись старого файла новым, целевой файл остаётся при своей дате создания (откуда там вообще может взяться текущая дата создания?).
Предполагается, что в терминологии ошибок нет, и речь идёт именно о дате создания, а не модификации или последнего доступа.
Добавлено: Пт окт 01, 2010 15:00
johnkz1
Можно и дата последнего доступа...мне нужно отслеживать новые файлы
Добавлено: Пт окт 01, 2010 15:43
Вахмурка
Может, в этом случае гиганта мысли спасет команда cm_SwitchWatchDirs и ключ конфигурации WatchDirs?
Добавлено: Пт окт 01, 2010 15:59
Avada
johnkz1
Можно получить внятное объяснение, что реально означает "мне нужно отслеживать новые файлы" (раскрашивать их в целевой панели другим цветом, например) и что всё-таки точно понимается под новыми файлами?
Добавлено: Пт окт 01, 2010 16:17
johnkz1
Эта связано с работой...есть два отдела...где находятся новые чертежи не по дате...они старые прошлогодние, но по содержанию встречаются, что у меня ревизия на много позднее...эта не видно и по названию файла.....не каким цветом не чего выделять не надо..я для этого написал специальную программу, чтоб вытаскивать эти файлы...хотелось, чтоб когда я заменял свой старый файл видно было когда я его туда скопировал
Добавлено: Пт окт 01, 2010 16:22
johnkz1
Вахмурка писал(а):Может, в этом случае гиганта мысли спасет команда cm_SwitchWatchDirs и ключ конфигурации WatchDirs?
А что конкретно делает эта команда?
Добавлено: Пт окт 01, 2010 16:35
Avada
johnkz1 писал(а):А что конкретно делает эта команда?
Вот
это (вторая часть диалога). И если речь идёт именно о перезаписи старых файлов новыми, то к делу слежение за каталогами не относится.
johnkz1 писал(а):хотелось, чтоб когда я заменял свой старый файл видно было когда я его туда скопировал
Кого — его? Новый файл?
И вообще, ИМХО, в подобных случаях, если уж так позарез нужна текущая дата, проще
до копирования с помощью диалога изменения атрибутов у всех новых файлов подлежащих копированию, выставить текущие дату/время модификации. Хоть поодиночке, хоть скопом. А потом сразу скопировать.
Добавлено: Пт окт 01, 2010 16:39
Вахмурка
А что конкретно делает эта команда?
А руководство, блин, читать не пробовал?!!!
1) Нажать F1;
2) Перейти к пункту 4б ("Настройки ini-файлов");
3) Выбрать wincmd.ini;
4) Пролитсать до WatchDirs (по алфавиту);
5) Читать внимательно.
Добавлено: Пт окт 01, 2010 16: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, но тогда будут проблемы с русскими именами.
Для использования нужно выделить в панели файлы для копирования на другую панель и нажать кнопку для запуска батника. Файлы будут скопированы, при этом существующие будут заменены, и дата создания обновится (у меня обновляется, проверьте у себя).
А вообще, конечно, использовать такой ненадежный атрибут как дату создания - не очень удачная мысль. При копировании или перемещении файла в другую папку дата обновляется.
Добавлено: Пт окт 01, 2010 17:48
Avada
MVV
Батник — это здорово, но у меня есть подозрения, что дальше неизбежно придётся объяснять товарищу, как его применить к делу. Лучше сразу код кнопки заготовить. И заодно дать ссылку на то, что с ним потом делать.

Добавлено: Пт окт 01, 2010 19:22
Вахмурка
MVV писал(а):Я не думаю, что WatchDirs здесь поможет - эта опция позволяет лишь следить за обновлением каталога
Я исходил из слов:
мне нужно отслеживать новые файлы
Конечно, такую туманную фразу можно толковать дюжиной способов, но мне пришло в голову именно это. А его последующие пояснения все окончательно запутали (и показали, что, кроме многоточия, других знаков препинания в русском языке нет).
Добавлено: Сб окт 02, 2010 07:37
johnkz1
MVV
Спасибо работает, использовал параметр %f т.к все равно русских названий там нет. Хорошо обнавлеятся дата последнего доступа ее и буду использовать. Не думал честно говоря, что мне тут помогут
[mod="Avada"]Оверквотинг убран. Если чужой пост цитируется полностью — значит его вообще не следовало цитировать.[/mod]
Добавлено: Сб окт 02, 2010 10:03
MVV
Вот уж что-что, а дату последнего доступа использовать вообще категорически не рекомендую. Дата создания файла сохраняется с момента его создания, дата модификации - с момента последнего сохранения, а дата последнего доступа - вообще идиотский атрибут, изменяется, когда системе вздумается. К примеру, банальное открытие свойств файла в Проводнике уже вызывает ее обновление. Получается, открываешь свойства, чтобы посмотреть дату последнего доступа - и, на тебе, текущая дата.
johnkz1 писал(а):Не думал честно говоря, что мне тут помогут
Ну зачем же так? Здесь многие готовы помочь, просто нужно подробно объяснить, чего хочешь добиться.
Добавлено: Сб окт 02, 2010 11:28
johnkz1
Получается, открываешь свойства, чтобы посмотреть дату последнего доступа - и, на тебе, текущая дата.
У меня не обнавляется, и открывал, и перезаписывал файл, и смотрел свойство...дата последнего доступа не меняется