Командная строка Windows Dir Команда для сохранения текстового файла и без расширений в данных?

325
aJynks

У меня есть команда Dir, которую я использую для создания текстового списка каталогов файлов .. "dir / a / b / -p / o: gen> z-file_list.txt"

Кто-нибудь знает, как я могу изменить это, чтобы доза в текстовом списке не содержала расширений? Так просто имя файла?

Заранее спасибо!

  • РЕДАКТИРОВАТЬ -

Извините, я не понял. Я имею в виду, что его команда сохранит текстовый файл со списком содержимого каталога.

Текстовый файл будет выглядеть следующим образом:
filename.ext
filename.ext
filename.ext
filename.ext

Я пытаюсь понять, как сделать так, чтобы текстовый файл выглядел так.
имя
файла
имя
файла имя файла имя файла

Спасибо .. извини мне было непонятно

0
Просто удалите ".txt" из строки имени файла? Ramhound 7 лет назад 0
это просто файл, в который он записывает данные сохраняются в «z-file_list.txt». Это не влияет на команду dir. aJynks 7 лет назад 0
Your question does not make sense. You asked how to generate a file without an extension. Ramhound 7 лет назад 0
ой, извини. Я отредактировал вопрос в надежде сделать его более понятным. aJynks 7 лет назад 0

2 ответа на вопрос

2
dxiv

У dirкоманды нет переключателя или опции для удаления расширений.

Это может быть сделано путем обработки выходного сигнала dir /bв for /fцикле, хотя.

(del list.txt 2>nul) & for /f %f in ('dir /a /b /o:gen') do @echo %~nf >>list.txt 

Если вам не нужны подкаталоги или системные / скрытые файлы (для чего и нужны dir /a), то подойдет и обычный for.

(del list.txt 2>nul) & for %f in (*) do @echo %~nf >>list.txt 

Запустите dir /?, del /?и for /?для получения более подробной информации о синтаксисе и переключателях.

0
Keltari

Вы можете сделать это из командной строки CMD, немного обманув Powershell. В командной строке введите следующую команду:

powershell -command "dir |select basename" > file_list.txt 

Как я уже сказал, это немного обманывает, поскольку powershell -commandвызывает оболочку Powershell для запуска сценария Powershell dir |select basename". К вашему сведению, dirв Powershell это просто псевдоним команды get-childitemи не имеет ничего общего с командой приглашения CMD dir. Powerhsell ожидает, что сценарий и результаты будут возвращены в приглашение CMD и перенаправлены ( >) в текстовый файл.

Похожие вопросы