CMD/BAT - [решено] Bat для получения списка файлов каталога.
-
amel27
Re: CMD/BAT - [решено] Bat для получения списка файлов каталога.
А как добавить полный путь до файла? С диском чтобы. И записывать только *.xml файлы?
-
death7lord
Re: CMD/BAT - [решено] Bat для получения списка файлов каталога.
Доброго времени. На 1й странице отписывался уже, но прошло столько времени, что часть файлов давно утеряна...
Просьба банальная. В результате использования кода из сообщения 7 (или 4) имеем список файлов из папок и подпапок.
Задача 1. По заданному списку удалить только указанные там файлы. Т.е. он "черный список".
Задача 2. По заданному списку оставить только указанные там файлы. Т.е. он "белый список".
Желательно с\без удалением\я пустых папок. Все пути к файлам без указания дисков, т.к. и список и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
Касательно второй задачи - кто-то "переводит" файлы в скрытые\системные, удаляет содержимое папки, возвращает назад атрибуты файлам. А вдруг там изначально файлы с разными атрибутами?
p.s. Простите за попытку оживить "мертвого".
Просьба банальная. В результате использования кода из сообщения 7 (или 4) имеем список файлов из папок и подпапок.
Задача 1. По заданному списку удалить только указанные там файлы. Т.е. он "черный список".
Задача 2. По заданному списку оставить только указанные там файлы. Т.е. он "белый список".
Желательно с\без удалением\я пустых папок. Все пути к файлам без указания дисков, т.к. и список и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
Касательно второй задачи - кто-то "переводит" файлы в скрытые\системные, удаляет содержимое папки, возвращает назад атрибуты файлам. А вдруг там изначально файлы с разными атрибутами?
p.s. Простите за попытку оживить "мертвого".
-
megaloman
Re: CMD/BAT - [решено] Bat для получения списка файлов каталога.
death7lord, Что в списоке файлов? Это только имена или с имена с путями? Приложите, пожалуйста, 2 примера этих разноцветных файлов.
-
death7lord
Re: CMD/BAT - [решено] Bat для получения списка файлов каталога.
megaloman, имена с неполными путями. Например, вот результат работы кода из 7го сообщения (сам список чуть уменьшен для наглядности):
Скрытый текст
[spoiler]Код: [/spoiler]
Хотелось бы два развития - 1. удалить файлы из такого списка, 2. удалить все остальные кроме файлов из списка. Два разных кода!
Скрытый текст
[spoiler]Код: [/spoiler]
Код: Выделить всё
.bat
list.txt
MemTest86_User_Guide_UEFI.pdf
ISO\Memtest86-7.4-pro.iso
ISO\readme.txt
USB\imageUSB.exe
USB\memtest86-pro-usb.img
USB\readme.txt
USB\ReadMe_imageUSB.txt
USB\Help\HTML\cicon9.gif
USB\Help\HTML\cicon_loadindex_ani.gif
USB\Help\HTML\contacting_passmark_software.htmХотелось бы два развития - 1. удалить файлы из такого списка, 2. удалить все остальные кроме файлов из списка. Два разных кода!
-
megaloman
Re: CMD/BAT - [решено] Bat для получения списка файлов каталога.
1. удалить файлы из такого списка.
Cписок и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
[spoiler]Код: [/spoiler]
Cписок и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
[spoiler]Код: [/spoiler]
Код: Выделить всё
@Echo Off
Set "SpisDel=Список удаления.txt"
>nul 2>&1 (
FOR /F "usebackq delims=" %%f IN ("%SpisDel%") DO If Exist "%%f" Del /A:R /A "%%f"
rem Если надо убить пустые папки
For /F "usebackq delims=" %%d In (`Dir /B /S /A:D 2^>nul^|Sort /R`) Do RD "%%d"
)-
megaloman
Re: CMD/BAT - [решено] Bat для получения списка файлов каталога.
2. удалить все остальные кроме файлов из списка.
Cписок и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
Сам батник и файл-список удалены не будут
[spoiler]Код: [/spoiler]
Cписок и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
Сам батник и файл-список удалены не будут
[spoiler]Код: [/spoiler]
Код: Выделить всё
@Echo Off
Set "Exclude=NoDelete.txt"
If Not Exist "%Exclude%" Exit /B 2
>"~%Exclude%" (
FOR /F "usebackq delims=" %%f IN ("%Exclude%") DO (Echo :%%f)
(Echo :%Exclude%)
(Echo :~%Exclude%)
(Echo :%~nx0)
)
>nul 2>&1 (
FOR /F "usebackq delims=" %%f IN (`XCOPY "*.*" "%Tmp%\" /L /S /H /EXCLUDE:~%Exclude%`) DO Del /A:R /A "%%~dpnxf"
Del "~%Exclude%"
rem Если надо убить пустые папки
For /F "usebackq delims=" %%d In (`Dir /B /S /A:D 2^>nul^|Sort /R`) Do RD "%%d"
)-
death7lord
Re: CMD/BAT - [решено] Bat для получения списка файлов каталога.
megaloman, простите, начался новый сезон рискованного земледелия. Пока проверил второй код - работает. Спасибо!