Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Bat для получения списка файлов каталога.

Пользователь


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

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


В общем нужет bat который в txt выведет все содержимое каталога и подкаталогов.
Пример txt должен быть таким:
\1\1.mp3
\2\3\1.mp4
\2\1\1.m4a

Отправлено: 12:57, 03-08-2013

 

Ветеран


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

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


Код: Выделить весь код
>"list.txt" dir /b /s /a:-d "*.xml"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:36, 18-08-2014 | #11



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

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


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


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

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


Доброго времени. На 1й странице отписывался уже, но прошло столько времени, что часть файлов давно утеряна...

Просьба банальная. В результате использования кода из сообщения 7 (или 4) имеем список файлов из папок и подпапок.

Задача 1. По заданному списку удалить только указанные там файлы. Т.е. он "черный список".
Задача 2. По заданному списку оставить только указанные там файлы. Т.е. он "белый список".

Желательно с\без удалением\я пустых папок. Все пути к файлам без указания дисков, т.к. и список и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
Касательно второй задачи - кто-то "переводит" файлы в скрытые\системные, удаляет содержимое папки, возвращает назад атрибуты файлам. А вдруг там изначально файлы с разными атрибутами?

p.s. Простите за попытку оживить "мертвого".

Отправлено: 01:46, 26-04-2018 | #12


Ветеран


Contributor


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

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


death7lord, Что в списоке файлов? Это только имена или с имена с путями? Приложите, пожалуйста, 2 примера этих разноцветных файлов.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 17:09, 26-04-2018 | #13


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


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

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


megaloman, имена с неполными путями. Например, вот результат работы кода из 7го сообщения (сам список чуть уменьшен для наглядности):
Скрытый текст
Код: Выделить весь код
.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. удалить все остальные кроме файлов из списка. Два разных кода!

Последний раз редактировалось death7lord, 26-04-2018 в 22:06.


Отправлено: 21:00, 26-04-2018 | #14


Ветеран


Contributor


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

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


1. удалить файлы из такого списка.
Cписок и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
Код: Выделить весь код
@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"
)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:40, 26-04-2018 | #15


Ветеран


Contributor


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

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


2. удалить все остальные кроме файлов из списка.
Cписок и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
Сам батник и файл-список удалены не будут
Код: Выделить весь код
@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"
)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 27-04-2018 в 02:08.

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:02, 27-04-2018 | #16


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


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

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


megaloman, простите, начался новый сезон рискованного земледелия. Пока проверил второй код - работает. Спасибо!

Отправлено: 13:08, 03-05-2018 | #17



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - bat файл для чтения папок и создания txt файлов NibelungXXX Скриптовые языки администрирования Windows 1 21-06-2013 20:47
CMD/BAT - bat-скрипт для массового копирования файлов akt Скриптовые языки администрирования Windows 3 02-05-2013 17:26
Любой язык - Сравнение списка файлов и каталога с файлами с копированием файлов из каталога jastreb83 Скриптовые языки администрирования Windows 0 10-04-2013 09:56
CMD/BAT - [решено] Создание папок по дате получения файлов и перемещение в них файлов KamikadZZe Скриптовые языки администрирования Windows 1 01-09-2011 14:15
CMD/BAT - Помогите написать .bat`ник для очистки временого каталога apostol goroda grexa Скриптовые языки администрирования Windows 3 24-10-2007 19:23




 
Переход