PDA

Показать полную графическую версию : Получить полный список папок и под папок в определенной папке


dvassilyev
05-02-2013, 13:09
простая вроде бы задача, команда tree делает ее отлично, но не нужны имена файлов.
dir /AD выводит то, что надо но не выводит подкаталоги и подкаталоги каталогов :)
как можно получить список папок и под папки? в том виде в котором их выдает команда tree, но без файлов в папках? просто в виде дерева каталогов :)
спасибо.

Molchune
05-02-2013, 13:16
хм..
Win 7 результат tree никаких файлов

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

dvassilyev
05-02-2013, 13:24
ок, ща попробую, сам на хрюше сижу.
P.s. была такая идея попробовать на Win 7

dvassilyev
05-02-2013, 13:48
в принципе пойдет, ток не очень красиво :)

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

voler
17-11-2016, 10:52
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"

Простой пример, мне данный топик не помог.

Iska
17-11-2016, 11:09
voler, Вы что хотели выразить, не пойму?

megaloman
17-11-2016, 17:24
Не понимаю, в чём проблемы: @Echo Off
Set "Where=D:\CMD"

tree "%Where%" >"%~0.log"Здесь батник надо сохранить в 866 Кодировке, создаётся log-файл с именем батника, просматривать вьювером в 866 кодировке@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
17-11-2016, 18:34
megaloman, коллеги dvassilyev'а два года как на конференции нет уже.

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

megaloman
17-11-2016, 21:41
voler,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




© OSzone.net 2001-2012