Показать полную графическую версию : [решено] Список файлов в каталоге и подкаталогах
Здравствуйте. Подскажите пожалуйста, есть папка C:\111\ нужно в текстовый файл вывести названия всех файлов в этой папке и всех подпапках. Названия файлов нужны без расширения.
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b /s /a-d "c:\111\*"') do echo %%~na
pause
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b /s /a-d "F:\download\*"') do echo %%~na >> "F:\!!!Work\spisok\list.txt"
pause
Попытался перенести в текстовый файл, пишет Системе не удается найти указанный путь.
Foreigner
22-12-2013, 13:20
Убери:
enabledelayedexpansion »
Огромное спасибо, все заработало. Если не трудно поясните пожалуйста почему enabledelayedexpansion так повлияло на вывод в текстовый файл ?
Foreigner
22-12-2013, 13:40
foma24, Оно не любит "!" воск. знаков, т.к. при отложенном расширении переменных среды ( смотреть setlocal /? ) синтаксис допускает использовании восклицательных знаков в качестве обозначения переменных.
Это все, имхо, бажность cmd, которая работает с текстом через пень-колоду.
Еще раз огромное спасибо.
Простите, что надоедаю. Чисто из любопытства, а как решение той же самой задачи выглядит на Powershell
Foreigner
22-12-2013, 15:38
foma24,
gci "c:\111" -recurse -force | ? { $_ -isnot [io.directoryinfo] } | % { $_.basename } | out-file "F:\!!!Work\spisok\list.txt"
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.