Я никогда не изучал компоновку из команды Where
, но если она не меняется между языками / локалями, или технически, если ваша компоновка не слишком отличается от моей тестовой системы , Вы можете сделать это на своей машине так:
Из командной строки:
(For /F "Tokens=1,3*" %A In ('Where/T /R . *.jpg 2^>Nul')Do @Echo("%C","%A")>"list.txt"
Из пакетного файла:
@(For /F "Tokens=1,3*" %%A In ('Where/T /R . *.jpg 2^>Nul')Do @Echo("%%C","%%A")>"list.txt"
Очевидно, что если компоновка из вывода команды Where
отличается, все равно есть возможность настроить Tokens
и / или включить разделители в соответствии с вашей целевой системой.
В приведенных выше примерах я использовал .
для представления текущего каталога, вы, конечно, можете изменить его на другой относительный путь, например, ..\Pictures
или полный путь, например C:\Users\Patrick\Pictures
при необходимости.
И опция powershell :
Ls -Filt '*.jpg' -Fo -Rec -EA SilentlyContinue|?{!$_.PSIsContainer -And $_.Extension -Eq '.jpg'}|Select FullName,Length|ConvertTo-CSV -NoT|Select -Skip 1|SC '.\list.txt'
Это также включает, например, системные и скрытые файлы, не будут включать файлы с расширениями, отличными от .jpg
, и не будут содержать незапрошенный заголовок с этим списком.