3

У меня есть папка, в которой есть папки root/sound/ arms / ak47, root/sound/ arms / m1. Папки root/sound/ Weapon / M4A1 и т. д. ak47, M1, M4A1 находятся в корневой / звуковой / оружия.

Я хочу экспортировать эти пути в .txt с помощью cmd.

Например:

root/sound/weapon/ak47
root/sound/weapon/m4a1
root/sound/weapon/m1

Я знаю, что DIR root\sound\weapons /B /O >Names.txt экспортирует имена ak47, m1, m4a1 в .txt, но я не могу думать, как мне также получить пути.

2 ответа2

2

Добавление аргумента /s будет включать в каталог подкаталоги (которые вам могут не понадобиться), но побочный эффект заключается в том, что он также отображает полный путь ко всем файлам (которые вы хотите):

Так что попробуйте что-нибудь вроде DIR root\sound\weapons /B /S >Names.txt .

Другой альтернативой (которая не включает подпапки) может быть создание командного файла и использование For. Что-то вроде:

@echo off
if exist files.txt del files.txt
for /f %%a in ('dir %1 /b') do @echo %1\%%a >> files.txt

Запустите пакетный файл и укажите путь, по которому вы хотите DIR, например: myBatch.bat c:\Path

0

Я хочу экспортировать эти пути в .txt с помощью cmd

Замечания:

  • В Windows разделитель пути \ not / .

Из оболочки cmd:

Если вы просто хотите путь:

for /f %i in ('dir /a:d root\sound\weapon /b /s') do @echo %~pnxi >> Names.txt

Пример:

F:\test>for /f %i in ('dir /a:d root\sound\weapon /b /s') do @echo %~pnxi >> Names.txt

F:\test>type Names.txt
\test\root\sound\weapon\ak47
\test\root\sound\weapon\m1
\test\root\sound\weapon\m4a1

Если вы также хотите диск, используйте:

for /f %i in ('dir /a:d root\sound\weapon /b /s') do @echo %~fi >> Names.txt

Пример:

F:\test>for /f %i in ('dir /a:d root\sound\weapon /b /s') do @echo %~fi >> Names.txt

F:\test>type Names.txt
F:\test\root\sound\weapon\ak47
F:\test\root\sound\weapon\m1
F:\test\root\sound\weapon\m4a1

В пакетном файле:

Заменить % на %% .

for /f %%i in ('dir /a:d root\sound\weapon /b /s') do @echo %%~pnxi >> Names.txt

Или же:

for /f %%i in ('dir /a:d root\sound\weapon /b /s') do @echo %%~fi >> Names.txt

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .