Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Удаление папок, кроме самой новой (http://forum.oszone.net/showthread.php?t=344930)

NuclearBox 21-04-2020 06:51 2918305

Удаление папок, кроме самой новой
 
Здравствуйте.
Есть директория ROOT, и в ней папки с файлами. Имена папок самые разные.
Как написать батник, который бы запускался внутри директории ROOT и удалял в ней все папки, кроме одной, имеющей самую последнюю (новую) дату создания?

YuS_2 21-04-2020 07:13 2918307

Цитата:

Цитата NuclearBox
Как написать батник, который бы запускался внутри директории ROOT и удалял в ней все папки, кроме одной, имеющей самую последнюю (новую) дату создания? »

Поиск по форуму может помочь
- только заменить 30 на 1
Но надо понимать, что дата создания изменяется при копировании, в отличие от даты изменения...

megaloman 21-04-2020 19:02 2918411

Цитата:

Цитата YuS_2
Но надо понимать, что дата создания изменяется при копировании, в отличие от даты изменения... »

Для папок, похоже, это не так: и дата создания, и дата изменения меняются.
Цитата:

Цитата NuclearBox
написать батник, который бы запускался внутри директории ROOT »

Я бы такого сильно опасался - поэтому в батнике укажите реальный полный путь и располагайте его где угодно.
Код:

@Echo Off
        Set "Folder=D:\Tra La La\Root"

        If Not "%Folder:~-1%"=="\" Set "Folder=%Folder%\"
        FOR /F "usebackq skip=1 delims=" %%i IN (`2^>nul Dir "%Folder%*.*" /B /A:D /T:C /O:-D`) DO Rd /S /Q "%Folder%%%i"
Exit /B


YuS_2, Ваша ссылка нерабочая, мне прав не хватает

NuclearBox 21-04-2020 19:56 2918419

YuS_2, megaloman, большое спасибо!
Супер! Оба варианта принял на вооружение)

YuS_2 21-04-2020 20:35 2918422

Цитата:

Цитата megaloman
Для папок, похоже, это не так: и дата создания, и дата изменения меняются. »

:dont-know
Похоже системное копирование так работает... не копируется дата, поэтому приравнивается к текущей.
У меня LastWriteTime не изменяется, но я пользуюсь Total Commander, у него опция есть специальная...

Цитата:

Цитата megaloman
Ваша ссылка нерабочая, мне прав не хватает »

Хмм, вроде копировал ссылку... что её могло так покорежить - не понимаю... поправил.

alpap 22-04-2020 00:47 2918454

Цитата:

Цитата megaloman
Для папок, похоже, это не так: и дата создания, и дата изменения меняются »

У меня дата изменения точно не меняется:
фото

Iska 22-04-2020 03:57 2918460

Цитата:

Цитата YuS_2
Похоже системное копирование так работает... не копируется дата, поэтому приравнивается к текущей. »

Полагаю, проще — каталог просто создаётся.

YuS_2 22-04-2020 06:44 2918468

Цитата:

Цитата alpap
У меня дата изменения точно не меняется »

Как именно копирование осуществляется? Возможно, каталог перемещается?

Цитата:

Цитата Iska
Полагаю, проще — каталог просто создаётся. »

Да, возможно... тем более, что есть функция CopyFile, но для каталогов нет такой, только CreateDirecory...

Iska 22-04-2020 09:42 2918488

YuS_2, я про то ж. И, если для MoveFileEx() явным образом сказано, что переносятся и файлы, и каталоги, то для CopyFileEx() — говорится только про файлы.

megaloman 22-04-2020 09:45 2918489

alpap,
Оправдываюсь, значит виноват: я ничего не выдумал, даты при копировании меняются (по крайней мере Dir пишет так)
Цитата:

===============Исходные папки

===============Создание

Z:\>Dir /A:D /T:C D:\CMD\JS_Host\Дискета_от_книги\
Том в устройстве D имеет метку Arhiv
Серийный номер тома: F497-24CE

Содержимое папки D:\CMD\JS_Host\Дискета_от_книги

05.04.2019 18:11 <DIR> .
05.04.2019 18:11 <DIR> ..
05.04.2019 18:11 <DIR> Chapter01
05.04.2019 18:11 <DIR> Chapter02
05.04.2019 18:11 <DIR> Chapter03
05.04.2019 18:11 <DIR> Chapter04
05.04.2019 18:11 <DIR> Chapter05
05.04.2019 18:11 <DIR> Chapter06
05.04.2019 18:11 <DIR> Chapter07
05.04.2019 18:11 <DIR> Chapter08
05.04.2019 18:11 <DIR> Chapter09
05.04.2019 18:11 <DIR> Chapter10
05.04.2019 18:11 <DIR> Chapter11
0 файлов 0 байт
13 папок 24*591*048*704 байт свободно

===============Изменение

Z:\>Dir /A:D /T:W D:\CMD\JS_Host\Дискета_от_книги\
Том в устройстве D имеет метку Arhiv
Серийный номер тома: F497-24CE

Содержимое папки D:\CMD\JS_Host\Дискета_от_книги

05.04.2019 18:11 <DIR> .
05.04.2019 18:11 <DIR> ..
22.04.2020 09:28 <DIR> Chapter01
05.04.2019 18:11 <DIR> Chapter02
05.04.2019 18:11 <DIR> Chapter03
05.04.2019 18:11 <DIR> Chapter04
05.04.2019 18:11 <DIR> Chapter05
05.04.2019 18:11 <DIR> Chapter06
05.04.2019 18:11 <DIR> Chapter07
05.04.2019 18:11 <DIR> Chapter08
05.04.2019 18:11 <DIR> Chapter09
05.04.2019 18:11 <DIR> Chapter10
05.04.2019 18:11 <DIR> Chapter11
0 файлов 0 байт
13 папок 24*591*048*704 байт свободно

===============Скопированные папки Copy-Past

===============Создание

Z:\>Dir /A:D /T:C Z:\Box_In\
Том в устройстве Z имеет метку Arhiv
Серийный номер тома: F497-24CE

Содержимое папки Z:\Box_In

05.04.2019 17:48 <DIR> .
05.04.2019 17:48 <DIR> ..
22.04.2020 09:36 <DIR> Chapter01
22.04.2020 09:36 <DIR> Chapter02
22.04.2020 09:36 <DIR> Chapter03
22.04.2020 09:36 <DIR> Chapter04
22.04.2020 09:36 <DIR> Chapter05
22.04.2020 09:36 <DIR> Chapter06
22.04.2020 09:36 <DIR> Chapter07
22.04.2020 09:36 <DIR> Chapter08
22.04.2020 09:36 <DIR> Chapter09
22.04.2020 09:36 <DIR> Chapter10
22.04.2020 09:36 <DIR> Chapter11
0 файлов 0 байт
13 папок 24*591*048*704 байт свободно

===============Изменение

Z:\>Dir /A:D /T:W Z:\Box_In\
Том в устройстве Z имеет метку Arhiv
Серийный номер тома: F497-24CE

Содержимое папки Z:\Box_In

22.04.2020 09:36 <DIR> .
22.04.2020 09:36 <DIR> ..
22.04.2020 09:36 <DIR> Chapter01
22.04.2020 09:36 <DIR> Chapter02
22.04.2020 09:36 <DIR> Chapter03
22.04.2020 09:36 <DIR> Chapter04
22.04.2020 09:36 <DIR> Chapter05
22.04.2020 09:36 <DIR> Chapter06
22.04.2020 09:36 <DIR> Chapter07
22.04.2020 09:36 <DIR> Chapter08
22.04.2020 09:36 <DIR> Chapter09
22.04.2020 09:36 <DIR> Chapter10
22.04.2020 09:36 <DIR> Chapter11
0 файлов 0 байт
13 папок 24*591*048*704 байт свободно
В исходный Chapter01 записал файл, поэтому там дата изменения сегодняшняя, а создания - чтарая

alpap 22-04-2020 12:14 2918521

Цитата:

Цитата YuS_2
Как именно копирование осуществляется? »

забыл указать
на фото 12 файлы помещены в другую папку (Temp) с помощью drag-and-drop
на фото 13 вырезаны из папки (Temp) и вставлены обратно откуда брались (диск C:\)

YuS_2 22-04-2020 12:28 2918523

Цитата:

Цитата alpap
на фото 12 файлы помещены в другую папку (Temp) с помощью drag-and-drop
на фото 13 вырезаны из папки (Temp) и вставлены обратно откуда брались (диск C:\) »

оба действия = перемещение, не копирование.


Время: 23:33.

Время: 23:33.
© OSzone.net 2001-