Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вывод имен файлов за последние N дней

Ответить
Настройки темы
CMD/BAT - [решено] Вывод имен файлов за последние N дней

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Elven
Дата: 30-05-2014
Имеем папку, в ней некоторое количество файлов. Нужно вывести, например, в файл имена файлов созданных измененных в последние, например, 5 (50, 500) дней.
Игрался с forfiles но он, гад, или хочет смотреть в будущее, или в далекое прошлое, или пляшет от фиксированной даты (или я какого ключа не заметил?).

Отправлено: 18:36, 29-05-2014

 

Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Цитата yurkind15:
в файл выводит абсолютно все файлы из папки, по дате не отбирает »
Значит все файлы подходят под критерий поиска. Что показывает @fdate?
Код: Выделить весь код
forfiles /p C:\files\work  /d -17 /c "cmd /c echo @fdate: @path">d:\files\1.txt

Отправлено: 15:31, 29-03-2016 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


просмотрел, я то думал будет выводить файлы за последние 17 дней, а тут наоборот))

Отправлено: 15:45, 29-03-2016 | #12


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


А как тогда переделать этот код, чтобы выводился полный путь к файлам? Заменяю @file на @path и код не работает(( ну или какой то другой вариант, а то всю голову уже сломал
Код: Выделить весь код
@echo off
set "directory=D:\some folder"
set days=50
forfiles /p "%directory%" /c "cmd /c if /i @isdir==false echo @file" /d -%days%>.tmp 2>nul
(
for /f "delims=" %%i in ('
dir /a-d /b "%directory%" 2^>nul
') do (
findstr /lxc:"\"%%i\"" .tmp>nul|| (
echo %%~nxi
)
)
)>"some file"
del .tmp
exit /b

Последний раз редактировалось yurkind15, 29-03-2016 в 16:26.


Отправлено: 16:01, 29-03-2016 | #13


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Цитата yurkind15:
а тут наоборот)) »
Тогда надо либо рассчитывать дату, а это все через задницу, либо исходить от обратного:
Код: Выделить весь код
@echo off
setlocal

set "days=17"
pushd "D:\some folder"

1>"%temp%\forfiles.tmp" (
	for /f "tokens=*" %%i in ('forfiles /d -%days% /c "cmd /c echo @file"') do echo %%~i
)

for /f "tokens=*" %%i in (' "dir /b /a-d | findstr /v /g:"%temp%\forfiles.tmp"" ') do echo %%~fi

popd
del "%temp%\forfiles.tmp"
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:25, 29-03-2016 | #14


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Foreigner, Спасибо!!!

Отправлено: 10:36, 30-03-2016 | #15


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


cmd+Powershell
https://issue.life/questions/57429733

-------
Garric


Отправлено: 08:44, 08-05-2020 | #16



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вывод имен файлов за последние N дней

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Вывод в файл имен последних файлов в папках ivanxam Скриптовые языки администрирования Windows 2 01-10-2013 13:26
2008 R2 - Windows 2008. Пропала вся информация и все изменения за последние 1,5 месяца alexpetrovich Windows Server 2008/2008 R2 1 18-09-2013 20:31
Деятельность Sony оказалась прибыльной впервые за последние пять лет OSZone News Новости информационных технологий 0 09-05-2013 13:30
VBS/WSH/JS - [решено] Удаление файлов по сети старше 7 дней, оставлять не менее 10 файлов white155 Скриптовые языки администрирования Windows 6 04-01-2012 00:42
Рекордный за последние 52 недели курс акций компании AMD OSZone News Новости информационных технологий 0 17-12-2009 21:30




 
Переход