Показать полную графическую версию : [решено] получение списка имён файлов без имен папок (с подкаталогами)
shadowbat
20-12-2015, 15:02
Здравствуйте!
есть файлы:
.\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
@echo off
1>list.txt (for /f "tokens=*" %%i in ('dir /b /s /a-d *.txt') do echo %%~xni)
Например, так:
@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
1>list.txt forfiles /p ".\abc" /s /m *.txt
Ещё один вариант:
@echo off
>"Result.csv" (
for /r %%i in (.) do 2>nul dir /a:-d /b "%%~i\*.txt"
)
shadowbat
20-12-2015, 15:46
Целая куча, спасибо за помощь!
лучше всего подошел первый вариант
в третьем вначале пустая строка + все имена файлов закавычены
2 и 4 эксель формат
2 и 4 эксель формат »
shadowbat, ни разу :), обычный текстовый файл. Просто Вы должны понимать, что, если Вы пишете в некий файл *.txt в том же каталоге, который опрашиваете на предмет *.txt-файлов — этот самый некий файл попадёт в выборку. Дабы не предпринимать дополнительных усилий по исключению его из получаемого перечня — проще всего сменить ему расширение.
Целая куча, спасибо за помощь! »
И это Вам ещё RoboCopy и wmic.exe в числе прочих не успели предложить :).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC