Возможное дублирование:
получить рекурсивные имена файлов в командной строке
Я хотел бы рекурсивно перечислить все файлы в каталоге, показывая только имена файлов (без расширений и без полных путей). Я использую Windows / DOS.
Самое близкое, что я мог получить, dir
было dir /s /b
, но он перечисляет полные пути, а также показывает расширения.
Ну, возможно, я мог бы жить с расширениями, но я должен избавиться от путей!
Есть идеи?
windows-xp
command-line
filenames
dir
Дэвид Б
источник
источник
Ответы:
Если вам нужен список, сохраненный в файл, добавьте
>> C:\Path\To\list_file.txt
в конецfor
команды.Если вам нужны расширения, измените
%~ni
на%~nxi
Для того, чтобы использовать в пакетном файле, изменить все
%
к%%
источник
dir
команде.Если вы хотите загрузить powershell, эта команда должна это сделать.
источник
Делая что-то вроде следующего, вы получите то, что хотите:
@for /f "delims=" %a in ('Dir /s /b %systemdrive%') do echo %~na
Просто передайте вывод в файл и используйте его оттуда, если это необходимо.
источник
Не знаю, считаете ли вы это сторонним программным обеспечением или нет, так как оно от Microsoft и поставляется с 7, но PowerShell решит большинство ваших проблем довольно легко. Если вы еще не установили его, он доступен для XP на сайте Microsoft.
источник