Пакетные файлы: список всех файлов в каталоге с относительными путями

Относительно командных файлов Windows: есть ли способ перечислить все файлы (или все файлы определенного типа) в определенном каталоге и его подкаталогах, включая пути относительно текущего (или поискового) каталога в списке?

Например, если мне нужны все файлы .txt в текущем каталоге и подкаталогах с их полными путями, я могу сделать

for /r . %%g in (*.txt) do echo %%g >> C:\temp\test.txt

или

dir *.txt /b /s >> C:\temp\test.txt

, и я получу что-то вроде

C:\test\Doc1.txt
C:\test\subdir\Doc2.txt
C:\test\subdir\Doc3.txt

Если я сделаю

for /r . %%g in (*.txt) do echo %%~nxg >> C:\temp\test.txt

Я получу что-то вроде

Doc1.txt
Doc2.txt
Doc3.txt

Но на самом деле я хочу:

Doc1.txt
subdir\Doc2.txt
subdir\Doc3.txt

Возможно ли это?

Если мой пост слишком запутан: я в основном хочу, чтобы рекурсивно отображал файлы в Linux CLI с путем относительно текущего каталог , но только для Windows.

60
задан Peter Mortensen 7 October 2018 в 14:33
поделиться