YuS_2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору EstellaMadl Цитата: если не затруднит, дайте пример как работать с циклом dir /T:A | к сожалению, поспешил я Вас обнадежить и зря. В cmd, с помощью dir, можно получить либо дату создания, либо дату изменения файлов: Код: dir name.ext /tc dir name.ext /tw | а вот, вместо даты доступа, dir отображает, всё таки, дату последнего изменения файла: Код: Вот так получается: кроме того, по умолчанию, изменение даты последнего доступа отключено в реестре. Чтобы эта дата изменялась при доступе к файлу, необходимо вносить правку в реестр: Код: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem параметр: NtfsDisableLastAccessUpdate | или использовать такую команду: Код: fsutil behavior set disablelastaccess 0 | после чего, перезагрузить систему... но даже после этих действий, в чистом cmd получить дату доступа не получится, придется привлекать внешние средства либо средства wsh, либо таки powershell... Мне больше нравится powershell. Вот как может выглядеть скрипт на нем: Код: $fld = 'd:\test' dir $fld -rec -file -force|?{$_.lastaccesstime -lt (get-date).adddays(-30)}|del -rec -force | как-то так. Просто? Имхо, да. Вот поэтому совсем не хочется ломать голову над тем, как же извратиться в cmd и получить то, что требуется... уж очень ограниченные у него возможности. Добавлено: Alex_Piggy Цитата: На bat - будет сложно сделать. | Если только привлечь WMIC, наверное... лучше уж vbs - понадежнее будет... | Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 19:12 15-01-2019 | Исправлено: YuS_2, 20:02 15-01-2019 |
|