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

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

Ответить
Настройки темы
CMD/BAT - Списки файлов в поддиректориях

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


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

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


Продолжение топика http://forum.oszone.net/thread-200208.html
Есть папка с множеством файлов и подпапок разного уровня вложения (до 6 уровней).
Необходимо в каждой подпапке создать тхт файл со списком файлов (но не папок) которые там лежат
и чтобы название тхт файла совпадало с названием подпапки.
В вышеупомянутом треде задача была решена только для первого уровня вложения
Цитата:
@Echo Off
For /F "tokens=*" %%d In ('dir /A:D /B') Do Dir /B ".\%%d">".\%%d\%%d.txt"
Но мне необходимо вычерпать все уровни.

Отправлено: 23:27, 02-12-2017

 

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


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

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


кстати, процитированный код включает в листинг и папки, что нежелательно

Отправлено: 00:12, 03-12-2017 | #2



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

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


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off

Set "BoxIn=Z:\In"
Set "LogExt=txt"

Call :DirTxt "%BoxIn%" 
For /F "usebackq delims=" %%d In (`Dir "%BoxIn%" /b /A:D /S 2^>nul`) DO Call :DirTxt "%%d"
GoTo :Eof

:DirTxt
	Set "OutLog=%~nx1.%LogExt%"
	>"%~1\%OutLog%" (For /F "usebackq delims=" %%f In (`Dir "%~1" /b /A:-D 2^>nul`) DO If /I Not "%%f"=="%OutLog%" @Echo %%f)
GoTo :Eof

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


Последний раз редактировалось megaloman, 03-12-2017 в 00:52.


Отправлено: 00:33, 03-12-2017 | #3


Ветеран


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

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


Код: Выделить весь код
@echo off
set "d=Путь к папке"
for /f "delims=" %%a in ('dir /a-d/b/s "%d%"') do set "pp=%%~dpa"& call :sp "%%pp:~,-1%%" "%%a"
pause& exit

:sp
 >>"%~1\%~n1.txt" echo %~2
exit /b
если в списке не нужны полные пути, а только имена файлов, изменить так: ... echo %~nx2

Отправлено: 00:25, 04-12-2017 | #4


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


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

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


Спасибо большое!

Отправлено: 10:52, 04-12-2017 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Инфо - Редактирование файлов/Списки файлов Windows .:[все вопросы]:. prokazzza Оформление Windows XP 2168 11-01-2021 10:27
CMD/BAT - [решено] Поиск файлов в поддиректориях по списку из txt и перемещение Sub-Zero Скриптовые языки администрирования Windows 15 27-03-2017 12:58
Серые списки ciceron Программное обеспечение Linux и FreeBSD 1 19-04-2010 15:37
списки slaine Вебмастеру 5 19-01-2006 19:08
Сокращенные списки Surround Microsoft Windows 95/98/Me (архив) 1 30-10-2003 08:40




 
Переход