|
01.09.2006, 17:25 | #1 |
Moderator
|
Цитата:
Сообщение от gl00mie
У меня дата создания сменилась после того, как я удалил файл и подождал примерно минуту перед подвторным запуском job'а и, соответственно, созданием файла.
Да, я получил такой же эффект, уже набросав процедурку на VBA с использованием Scripting.FileSystemObject. Цитата:
Сообщение от gl00mie
А вообще, можно озвучить постановку задачи? для чего все эти манипуляции?
Хочу удалять из некоторой папки файлы, которые старше определенного "возраста". "Возраст" задается заранее и, грубо говоря, лежит в пределах от нескольких часов до нескольких дней (ну, месяц, например, максимум). Физически - это файлы некоторых отчетов пользователя (xls), которые он "нарезает" в процессе работы с Аксаптой. Вы спросите, зачем сохранять xls-файлы, если пользователь может сам решить в Excel'е, сохранять или нет? В данном случае это принципиальное условие задачи. Если подход окажется удачным, я предполагаю распространить его не только на xls-файлы. Файлы сохраняются под страшными именами, включающими userID, дату, время, sessionID и, возможно, некий reportID, например, GUST_060901_174918_3_115.xls (хм... или reportID можно сразу после ника: GUST_115_060901_174918_3.xls - с точки зрения сортировки так наверное даже логичнее...) Ну вот чтобы их не скапливалось в его персональной папке слишком много, я и решил приделать такую процедуру, которая будет его спрашивать "Не желаете ли уже почиститься, любезный?" А "возраст" дается ему для того, чтобы он мог за это время "перекинуть" особо важные отчеты в какую-нибудь другую свою личную папку уже на длительное хранение по своему желанию. "Возраст" предполагается отсчитывать "в прошлое" от момента, определяемого timenow() при попытке запуска очередного отчета и, соответственно, проверять содержимое папки на наличие старых файлов. P.S. В принципе, конечно, можно "забить" на эти 4 часа и использовать только целые дни (даты), отсчитываемые назад, начиная со "вчерашнего", но, как говорится, "народ хочет разобраться!" Последний раз редактировалось Gustav; 01.09.2006 в 18:04. |
|
01.09.2006, 18:12 | #2 |
Участник
|
Не понял...
Если дата и время включаются в имя файла, зачем заморачиваться с WinAPI? Вытащить из строки имени файла его дату и время и соответственно с файлом поступить. Зачем в его Windows Properties лазить? |
|
|
За это сообщение автора поблагодарили: Gustav (5). |
01.09.2006, 18:35 | #3 |
Moderator
|
Цитата:
Сообщение от somebody
Не понял...
Если дата и время включаются в имя файла, зачем заморачиваться с WinAPI? Вытащить из строки имени файла его дату и время и соответственно с файлом поступить. Зачем в его Windows Properties лазить? мда... надо же настолько себе замылить глаза за трудовую неделю... и ведь еще думал, добавлять ли это абзац про страшные имена; в итоге добавил в основном для себя... В WinAPI я точно не полезу уже на эту тему, а вот с FSO еще немножко всё-таки подумаю... Просто думаю, как быть если юзер в пределах "возраста" еще раз обратится к файлу и сохранит его под старым именем, но фактически с более свежим "возрастом"... Допустим, возраст по имени будет "неделя", а по дате модификации 3 дня... P.S. (включить и дату модификации тоже в строку названия ой йо) Последний раз редактировалось Gustav; 01.09.2006 в 18:38. |
|
01.09.2006, 19:06 | #4 |
Moderator
|
gl00mie, тоже респект - без вопроса "Для чего эти манипуляции?" я бы не вышел на ударную позицию и по ней не пробил бы somebody
AndyD, тоже "округлил" до 215, а то процесс пробуксовывал без уточнения LocalFile Всех с пятницей! |
|