powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
25 сообщений из 39, страница 1 из 2
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930481
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, добрый день.


Есть задача в командной строке получить список файлов старше 1 суток в виде:

C:\folder\file1.xml
C:\folder\file2.xml
C:\folder\file3.xml
C:\folder\1\subfile1.xml
C:\folder\2\subfile2.xml
...


из определенного каталога и всех его подкаталогов.

Проблема в том, что количество файлов там исчисляется миллионами.

И forfiles работает часы.

Хотя просто dir отрабатывал быстро.

Однако в dir не нашел как оставить файлы старше 1 суток.




Подскажите пожалуйста как можно быстро получить список файлов страше 1 суток?
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930488
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или виндоус в принципе не может это сделать?

(Linux делает легко)
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930493
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пятый2,

Поставить cygwin или coreutils и свести задачу к "как посмотреть список файлов старше суток в linux"
http://gnuwin32.sourceforge.net/
http://cygwin.com/
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930499
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster
пятый2,

Поставить cygwin или coreutils и свести задачу к "как посмотреть список файлов старше суток в linux"
http://gnuwin32.sourceforge.net/
http://cygwin.com/


Не, надо сделать это без установки дополнительного софта.
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930503
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
25.02.2020 12:02, пятый2 пишет:
>
> Не, надо сделать это без установки дополнительного софта.
>

Скрипт удаления выборочных файлов
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930507
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий

25.02.2020 12:02, пятый2 пишет:
>
> Не, надо сделать это без установки дополнительного софта.
>

Скрипт удаления выборочных файлов


Спасибо.

Однако, вы меня не правильно поняли...

удалять ничего не надо.

Требуется просто вывести список.
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930511
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
25.02.2020 12:11, пятый2 пишет:
> удалять ничего не надо.

ну дык не удаляй.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930512
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий

25.02.2020 12:11, пятый2 пишет:
> удалять ничего не надо.

ну дык не удаляй.


По ссылке просто сортируют список файлов по дате, а потом удаляют последние 5 шт.

Это вообще не то.

Совсем не то.

У меня может быть и 5 файлов и 5 000 000 файлов, которые под условие попадают.
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930517
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
25.02.2020 12:17, пятый2 пишет:
>
> Это вообще не то.
> Совсем не то.
>

тебе нужно готовое решение?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930529
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий

25.02.2020 12:17, пятый2 пишет:
>
> Это вообще не то.
> Совсем не то.
>

тебе нужно готовое решение?


Не прям готовое, но хотя бы примерно.

Вот, смотрите.

Пока думаю надо делать как-то на повар-шале.


Пока вот такое получается:


powershell -command "Get-ChildItem -Path C:\test -Recurse -File | Where-Object -FilterScript {($_.LastWriteTime -gt '2005-10-01')}"


Вот такой вывод:


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
    Каталог: C:\test


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       25.02.2020     12:32              0 1.txt
-a----       25.02.2020     12:33              0 2.txt
-a----       25.02.2020     12:33              0 3.txt


    Каталог: C:\test\1


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       25.02.2020     12:32              0 1_1.txt
-a----       25.02.2020     12:33              0 1_2.txt


    Каталог: C:\test\2


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       25.02.2020     12:32              0 2_1.txt





При этом есть три проблемы:

1) как задать дату относительно текущей?
2) как сделать форматирование вывода чтобы файлы были с дирректорией
3) Как сделать форматирование вывода чтобы кроме имени файла с путем ничего больше не было? (в т.ч. и лишних строк Mode LastWriteTime Length Name, ---- ------------- ------ ---- и т.п.)
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930531
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. надо чтобы вывод был вот такой:



Код: powershell
1.
2.
3.
4.
5.
6.
C:\test\1.txt\1.txt
C:\test\2.txt\2.txt
C:\test\3.txt\3.txt
C:\test\1\1_1.txt\1_1.txt
C:\test\1\1_2.txt\1_2.txt
C:\test\2\2_1.txt\2_1.txt
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930547
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,


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


По ссылке, которую вы привели, вы, кстати, так ничего и не ответили.
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930553
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
25.02.2020 12:55, пятый2 пишет:
> если вам не под силу написать...

ты гля!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930567
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пятый2,

Код: powershell
1.
2.
3.
function вчерась { $y = (Get-Date).AddDays(-1); Get-Date -Day $y.Day -Month $y.Month -Year $y.Year -Hour 00 -Minute 00 -Second 00 -Millisecond 00 }

gci your_dir/* -file -rec |?  LastWriteTime -lt (вчерась) | select FullName


выберет файлы изменённые вчера и ранее
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930568
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пятый2
список файлов старше 1 суток
Это с учётом времени, или "не сегодня"?

пятый2
если вам не под силу написать как требуется или вы хотите выклянчить деньги за помощь, то извиняйте.
Вы практически лишили себя возможности получить помощь.
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930575
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий

25.02.2020 12:55, пятый2 пишет:
> если вам не под силу написать...

ты гля!


Вы же ничего полезного не написали ни в этой теме ни в той что привели ссылочкой.
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930577
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661
пятый2,

Код: powershell
1.
2.
3.
function вчерась { $y = (Get-Date).AddDays(-1); Get-Date -Day $y.Day -Month $y.Month -Year $y.Year -Hour 00 -Minute 00 -Second 00 -Millisecond 00 }

gci your_dir/* -file -rec |?  LastWriteTime -lt (вчерась) | select FullName


выберет файлы изменённые вчера и ранее


О, благодарю!
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930579
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
пятый2
список файлов старше 1 суток
Это с учётом времени, или "не сегодня"?



С датой проблема решена.

На данный момент осталась только две проблемы

1) вывести имена файлов с их путями, вместо просто имен файлов.
2) не выводить названия столбца типа

Код: powershell
1.
2.
Name
----




Если кто знает - буду очень благодарен.
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930586
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: powershell
1.
( gci your_dir/* -file -rec |?  LastWriteTime -lt (вчерась) ).FullName
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930611
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661,

Спасибо, получилось!


Единственное что осталось - это заголовок убрать Fullname и ------- но это уже не так критично.
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930618
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пятый2,

какие-такие заголовки ?
при обращении к свойству об'екта через точку ( Object .FullName ) никакие заголовки не выводятся.
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930645
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661
пятый2,

какие-такие заголовки ?
при обращении к свойству об'екта через точку ( Object .FullName ) никакие заголовки не выводятся.



Да, так точно лишнего не выводит!
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930646
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661,

Но появилась еще одна проблема.

На другом сервере почему-то не принимает параметр -file

:((


Подскажите пожалуйста, как можно оставить только файлы (без дирректорий) без этого параметра?
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930649
пятый2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
там где -file не переваривает версия PSVersion 2.0


Надо как-то в ней отфильтровать дирректории из вывода..
...
Рейтинг: 0 / 0
Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
    #39930699
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
@echo off
Setlocal EnableDelayedExpansion
for /R z:\temp %%I in (*) do (SET _tempVar=%%~tI && IF "!_tempVar:~0,10!"=="02/25/2020" @echo %%I)


Где Z:\Temp - это каталог поиска
02/25/2020 - дата поиска.

Как то так. Дату надо задавать в том виде, в котором она задана региональными настройками текущей локали
у меня находит все файлы за указанный день
ну и подсчитать разницу между датами в 1 день, я хз как сделать в голом виндовсе, чисто гипотетически, можно объединить год, месяц, день, час и минуты в 1 значение (как оно обычно хранится) и потом вычитая получить количество секунд и сравнивать их. Но мне лень
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как в cmd получить список файлов старше 1 суток (forfiles не подходит)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]