Как указано в заголовке, мне нужно экспортировать имена файлов различных файлов изображений из различных каталогов в один текстовый файл в виде списка. Как бы мне выполнить такую задачу?
Во-вторых, можно ли частично удалить имена файлов, перечисленные в текстовом файле? Пожалуйста, смотрите скриншот:
Мне нужно удалить имя файла «HS3-HTS-» и оставить только номер для имени файла.
Наконец, потребуется ли мне командная строка для выполнения этой задачи или есть другое решение?
Я нашелсвязьздесь, но там не сказано, как выбрать только файлы изображений, любая помощь будет оценена по достоинству. Спасибо заранее.
решение1
Предположим, что вам нужны расширения файлов jpg, jpeg, gif и png; и предположим, что вы хотите извлечь имена файлов из текущего каталога:
powershell "dir *.jpg,*.jpeg,*.gif,*.png | ForEach-Object {echo ($_.BaseName -replace 'HS3-HTS-', '')}" > Output.txt
Если необходим рекурсивный поиск, чтобы найти файлы в нескольких каталогах с помощью одной команды, может подойти следующее (просто замените «C:\» на нужный диск или базовый каталог):
powershell "Get-ChildItem -Path C:\ -Recurse -Include *.jpg,*.jpeg,*.gif,*.png | ForEach-Object {echo ($_.BaseName -replace 'HS3-HTS-', '')}" > Output.txt
Обратите внимание, что оба приведенных выше примера помещают список в файл с именем «Output.txt», расположенный в текущем каталоге.Текущий каталог, я имею в виду каталог, просматриваемый с помощью командной строки. Если вы хотите увидеть вывод непосредственно в командной строке, не открывая файл, просто опустите final > Output.txt
в приведенных выше командах. Также обратите внимание, что, несмотря на то, что они основаны на PowerShell, приведенные выше команды были сформулированы для запуска в обычной командной строке. Часть "powershell" сообщает ему, что нужно проанализировать команду с помощью PowerShell.