Компьютерный форум 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=274475)

foma24 22-12-2013 12:07 2276658

Список файлов в каталоге и подкаталогах
 
Здравствуйте. Подскажите пожалуйста, есть папка C:\111\ нужно в текстовый файл вывести названия всех файлов в этой папке и всех подпапках. Названия файлов нужны без расширения.

sov44 22-12-2013 12:29 2276672

Код:

@echo off
setlocal enabledelayedexpansion
           
for /f "delims=" %%a in ('dir /b /s /a-d "c:\111\*"') do echo %%~na
pause


foma24 22-12-2013 13:16 2276695

Код:

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 2276698

Убери:
Цитата:

Цитата foma24
enabledelayedexpansion »


foma24 22-12-2013 13:26 2276704

Огромное спасибо, все заработало. Если не трудно поясните пожалуйста почему enabledelayedexpansion так повлияло на вывод в текстовый файл ?

Foreigner 22-12-2013 13:40 2276710

foma24, Оно не любит "!" воск. знаков, т.к. при отложенном расширении переменных среды ( смотреть setlocal /? ) синтаксис допускает использовании восклицательных знаков в качестве обозначения переменных.

Это все, имхо, бажность cmd, которая работает с текстом через пень-колоду.

foma24 22-12-2013 15:12 2276755

Еще раз огромное спасибо.

Простите, что надоедаю. Чисто из любопытства, а как решение той же самой задачи выглядит на Powershell

Foreigner 22-12-2013 15:38 2276769

foma24,
Код:

gci "c:\111" -recurse -force | ? { $_ -isnot [io.directoryinfo] } | % { $_.basename } | out-file "F:\!!!Work\spisok\list.txt"

foma24 22-12-2013 19:58 2276901

Огромное спасибо


Время: 14:44.

Время: 14:44.
© OSzone.net 2001-