CMD/BAT - Получить полный список папок и под папок в определенной папке

Ответить
Аватара пользователя
dvassilyev

CMD/BAT - Получить полный список папок и под папок в определенной папке

Сообщение dvassilyev »

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

dir /AD выводит то, что надо но не выводит подкаталоги и подкаталоги каталогов Изображение

как можно получить список папок и под папки? в том виде в котором их выдает команда tree, но без файлов в папках? просто в виде дерева каталогов Изображение

спасибо.
Аватара пользователя
Molchune

Re: CMD/BAT - Получить полный список папок и под папок в определенной папке

Сообщение Molchune »

хм..

Win 7 результат tree никаких файлов





Код:

Код: Выделить всё

C:\Windows\system32>tree c:\test
 Структура папок Серийный номер тома: B00B-04B9
C:\TEST Подпапки отсутствуют
Аватара пользователя
dvassilyev

Re: CMD/BAT - Получить полный список папок и под папок в определенной папке

Сообщение dvassilyev »

ок, ща попробую, сам на хрюше сижу.

P.s. была такая идея попробовать на Win 7
Аватара пользователя
dvassilyev

Re: CMD/BAT - Получить полный список папок и под папок в определенной папке

Сообщение dvassilyev »

в принципе пойдет, ток не очень красиво Изображение



еще бы получить как нить получить список не такой "глубокий" например все 3 или 4 под папки
Аватара пользователя
voler

Re: CMD/BAT - Получить полный список папок и под папок в определенной папке

Сообщение voler »

pushd C:\_web\home\www\sw-logs\

for /f %%D in ('dir /b /a:d ^| sort /r') do copy /y C:\_web\home\www\sw-logs\index.html "%%D"



Простой пример, мне данный топик не помог.
Аватара пользователя
megaloman

Re: CMD/BAT - Получить полный список папок и под папок в определенной папке

Сообщение megaloman »

Не понимаю, в чём проблемы:


Вот tree

[spoiler]Код:
[/spoiler]

Код: Выделить всё

@Echo Off
Set "Where=D:\CMD"
tree "%Where%" >"%~0.log"

Здесь батник надо сохранить в 866 Кодировке, создаётся log-файл с именем батника, просматривать вьювером в 866 кодировке






Вот Dir

[spoiler]Код:
[/spoiler]

Код: Выделить всё

@Echo Off
chcp 1251 >nul
Set "Where=D:\CMD"
Del "%~0.log" 2>nul
FOR /F "usebackq delims=" %%d In (`Dir "%Where%" /S /B /A:D 2^>nul`) DO Echo %%d >>"%~0.log"
start "Out" notepad "%~0.log"

Здесь батник надо сохранить в 1251 Кодировке, создаётся log-файл с именем батника, и можно смотреть результат в Notepad
Аватара пользователя
Iska

Re: CMD/BAT - Получить полный список папок и под папок в определенной папке

Сообщение Iska »

megaloman, коллеги dvassilyev'а два года как на конференции нет уже.
Аватара пользователя
Iska

Re: CMD/BAT - Получить полный список папок и под папок в определенной папке

Сообщение Iska »

Iska, Это я в колее, еду и по сторонам не смотрю: прочел заголовок, обсуждения, а их авторов уже не смотрел. Каюсь ...
Аватара пользователя
megaloman

Re: CMD/BAT - Получить полный список папок и под папок в определенной папке

Сообщение megaloman »

voler,
Цитата Iska:



voler, Вы что хотели выразить, не пойму?



Изложите, пожалуйста, проблему: я взял Ваш код, он работает: копирует указанный файл в подпапки указанной папки. Единственное, я бы добавил \ вот так: "%%D\", хотя у меня отработало и без него. Но, возможно, у Вас не всё так просто: допустим, есть скрытые папки или файлы. Опять же, а какой смысл в обратной сортировке имён подпапок? ИМХО, она тут не нужна.

Код:

Код: Выделить всё

pushd "С:\_web\home\www\sw-logs"
for /f %%D in ('dir /b /a:d 2^>nul') Do Copy /y index.html "%%D\" >nul

Или вариант при наличии скрытых папок-файлов

Код:

Код: Выделить всё

pushd "С:\_web\home\www\sw-logs"
for /f %%D in ('dir /b /a:d 2^>nul') Do Xcopy /Y /H /R index.html "%%D\" >nul
Ответить

Вернуться в «Скриптовые языки администрирования Windows»