Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] получение списка имён файлов без имен папок (с подкаталогами) (http://forum.oszone.net/showthread.php?t=309427)

shadowbat 20-12-2015 15:02 2586741

получение списка имён файлов без имен папок (с подкаталогами)
 
Здравствуйте!
есть файлы:
.\abc\1.txt
.\abc\2.txt
.\abc\zxy\3.txt
.\abc\zxy\1.txt
.\abc\zxy\file.bat

нужно получить такой список (запускаем file.bat)
1.txt
2.txt
3.txt
1.txt

пробовал с dir, но оба варианта делают только половину работы
Код:

>"list1.txt" dir /a:-d /b /s  "*.txt" - с подкаталогами, но полный путь
>"list2.txt" dir /a:-d /b  "*.txt" - только имя файла, но без подкаталогов

нужно только имя файла и с подкаталогами

Foreigner 20-12-2015 15:25 2586748

Код:

@echo off

1>list.txt (for /f "tokens=*" %%i in ('dir /b /s /a-d *.txt') do echo %%~xni)


Iska 20-12-2015 15:31 2586750

Например, так:
Код:

@echo off

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


Foreigner 20-12-2015 15:36 2586751

Код:

1>list.txt forfiles /p ".\abc" /s /m *.txt

Iska 20-12-2015 15:41 2586752

Ещё один вариант:
Код:

@echo off

>"Result.csv" (
        for /r %%i in (.) do 2>nul dir /a:-d /b "%%~i\*.txt"
)


shadowbat 20-12-2015 15:46 2586753

Целая куча, спасибо за помощь!

лучше всего подошел первый вариант
в третьем вначале пустая строка + все имена файлов закавычены
2 и 4 эксель формат

Iska 20-12-2015 19:29 2586817

Цитата:

Цитата shadowbat
2 и 4 эксель формат »

shadowbat, ни разу :), обычный текстовый файл. Просто Вы должны понимать, что, если Вы пишете в некий файл *.txt в том же каталоге, который опрашиваете на предмет *.txt-файлов — этот самый некий файл попадёт в выборку. Дабы не предпринимать дополнительных усилий по исключению его из получаемого перечня — проще всего сменить ему расширение.

Цитата:

Цитата shadowbat
Целая куча, спасибо за помощь! »

И это Вам ещё RoboCopy и wmic.exe в числе прочих не успели предложить :).


Время: 15:13.

Время: 15:13.
© OSzone.net 2001-