Войти

Показать полную графическую версию : [решено] Список файлов из поддиректорий с указанием полного пути


Sat_Kelman
30-03-2011, 09:23
День добрый!

Нужно составить файл где будут полные пути к файлам из определенного каталога и его подкаталогов с определенной маской.
Пример: Есть каталог Incoming. в нем лежать какие то папки, в них могут еще и т.д. нужен список фалов с расширением ppt.
Надо получить файл (к примеру list.txt) следующего содержания

C:\Incoming\my.ppt
C:\Incoming\CD\test.ppt
C:\Incoming\орион.ppt
C:\Incoming\Не мои\разобрать\программа.ppt
..........

Подскажите пожалуйста код, данного батника.

Petya V4sechkin
30-03-2011, 10:03
Dir /A-D /B /S C:\Incoming\*.ppt >list.txt

zbeypepels
20-03-2020, 00:44
Понадобилось получить список из папки, не включая вложенные папки, дошло что такого нету.
Или есть и я не нашел?
Вот , типа такое:
S:\WgetS\2019_12_13\
S:\WgetS\2019_12_13\muzik\
S:\WgetS\2019_12_13\нестирать\
... а тут много файлов, ну допустим *.mp4
Надо получить список с полными путями из S:\WgetS\2019_12_13\*.mp4 - но не заходя в подпапки, не трогая "muzik" и "нестирать". В dir полные путя дает /S но оно же насквозь берет все папки. А без /S - /B даёт только имена файлов, без пути.
dir /s /b /O:S "S:\WgetS\2019_12_13\*.mp4" > List-videos.m3u
...?

megaloman
20-03-2020, 05:31
Понадобилось получить список из папки, не включая вложенные папки ... но не заходя в подпапки". »
>"Z:\List.txt" (For %f In ("D:\CMD_Forum\Муз\112_Billy_Novik\*.mp3") Do @Echo %f)>"Z:\List.txt" (Pushd "D:\CMD_Forum\Муз\109_Чайф" &FOR /F "tokens=*" %f IN ('Dir /B /O:S "*.mp3"') DO @Echo %~dpnxf)Это примеры командной строки. Если это часть cmd-скрипта, заменить %f на %%f

zbeypepels
20-03-2020, 17:17
Так и подумалось, что через FOR надо буит...
Сделал так:

@echo off
chcp 65001
cd /d "%~dp0"

set dat=List-date.m3u
set b2s=List-big2small.m3u
set s2b=List-small2big.m3u
set fld=%~dp0Media


Pushd "%fld%"

>"..\%dat%" (FOR /F "tokens=*" %%A IN ('Dir /B /O:D "*.mp4"') DO Echo %%~dpnxA)

>"..\%b2s%" (FOR /F "tokens=*" %%B IN ('Dir /B /O:-S "*.mp4"') DO Echo %%~dpnxB)

>"..\%s2b%" (FOR /F "tokens=*" %%C IN ('Dir /B /O:S "*.mp4"') DO Echo %%~dpnxC)



Благодарю!




© OSzone.net 2001-2012