Есть ли опция, которая также напишет имя файла?
Используйте echo
также, чтобы добавить имя файла в выходной файл.
Вот пример командного файла, который вы можете изменить соответствующим образом:
test.cmd:
@echo off setlocal enabledelayedexpansion for /f %%f in ('dir /b *.txt') do ( echo filename: %%f >> output.txt type "%%f" >> output.txt ) endlocal
Заметки:
- Вывод из
dir
используется в противном случае.txt
файлы обрабатываются несколько раз.
Пример использования и вывод:
F:\test\test>dir Volume in drive F is Expansion Volume Serial Number is 3656-BB63 Directory of F:\test\test 12/08/2016 14:04 <DIR> . 12/08/2016 14:04 <DIR> .. 11/08/2016 21:07 8 a.txt 11/08/2016 21:07 8 b.txt 11/08/2016 21:08 8 c.txt 3 File(s) 24 bytes 2 Dir(s) 1,769,524,736,000 bytes free F:\test\test>type *.txt a.txt test1 b.txt test2 c.txt test3 F:\test\test>..\test F:\test\test>type output.txt filename: a.txt test1 filename: b.txt test2 filename: c.txt test3
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- dir - Показать список файлов и подпапок.
- echo - отображать сообщения на экране, включать или выключать отображение команд.
- for / f - Циклическая команда против результатов другой команды.