Войти

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


NuclearBox
17-04-2018, 14:16
Здравствуйте, уважаемые!
Есть батник, формирующий список List.txt из всех файлов *.txt, лежащих в папке запуска и всех поддиректориях:
dir /b /od /s /a *.txt >> List.txt
Как изменить код, чтобы в список не попадали файлы *.txt из папки запуска, а попадали только файлы из поддиректорий?

Казбек
17-04-2018, 14:32
NuclearBox,

https://superuser.com/questions/1143820/command-line-list-files-in-subfolders-but-not-current-folder

Iska
17-04-2018, 14:33
Например, так:
@echo off
setlocal enableextensions enabledelayedexpansion

>"List.txt" (
for /d %%i in ("*.*") do 2>nul dir /b /a:-d /o:d /s "%%~nxi\*.txt"
)

endlocal
exit /b 0

или так:
@echo off
setlocal enableextensions enabledelayedexpansion

>"List.txt" (
for /f "usebackq delims=" %%i in (`2^>nul dir /b /a:d`) do 2>nul dir /b /a:-d /o:d /s "%%~nxi\*.txt"
)

endlocal
exit /b 0

NuclearBox
17-04-2018, 14:58
Iska, Казбек, спасибо!

alpap
17-04-2018, 16:25
положу такой вариант, может кому именно регулярка будет интересна:

@echo off
set "d=C:\Papka"

call :# "%d%"
pause& exit

:#
>fist.txt (dir /a-d/b/s "%~1\*.txt"|findstr /rc:"%~n1\\.*[^\\].*\\.*")
exit /b




© OSzone.net 2001-2012