Как преобразовать мои фотографии в формат webp Google в Windows 8.1?

Я хочу преобразовать свои фотографии из jpg, gif и png в формат WebP.

Когда я пытаюсь использовать CMD для использования команды cwebp, я получаю следующее сообщение об ошибке:

'cwebp' не распознается как внутренняя или внешняя команда, действующая программа или командный файл.

Что мне делать?

Я загрузил все необходимые файлы, такие как libwebp-0.4.0-windows-x86.zip и WebpCodecSetup.exe.

Даже я установил Visual Studio, чтобы использовать его командную строку, но не сработало! Кто-нибудь может мне помочь?

Еще один вопрос:

Кто-нибудь знает какой-нибудь инструмент для уменьшения размера изображения без потери его качества?


person Hosein    schedule 30.06.2014    source источник
comment
Проблема решена с помощью этого программного обеспечения   -  person Hosein    schedule 30.06.2014
comment
Почему бы вам не позировать и не ответить на свой ответ, чтобы всем было понятно, что проблема решена @HoseinBL?   -  person marol    schedule 30.06.2014
comment
Я только что нашел графический интерфейс Webp!   -  person Hosein    schedule 30.06.2014
comment
Хорошо, я имел в виду, что на этом сайте, когда вы знаете ответ на свой вопрос, вам предлагается опубликовать ответ и принять его, чтобы все могли увидеть, что проблема решена.   -  person marol    schedule 30.06.2014
comment
Я не могу! потому что моя репутация меньше 10 :(   -  person Hosein    schedule 30.06.2014


Ответы (4)


Загрузив двоичные файлы cwebp (.exe) из Google, вы можете запустить его с помощью PowerShell. .

Скопируйте и вставьте приведенный ниже код в PowerShell и нажмите клавишу ВВОД, чтобы запустить его.

Прочтите комментарии во фрагменте для получения дополнительной информации.

# on Windows Explorer, shift + right-click a directory and copy its path
# paste the path in $dir
$dir = "path/to/directory"

# get all files in the directory
$images = Get-ChildItem $dir

# loop through every images
foreach ($img in $images) {
  # output file will be written in the same directory 
  # but with .webp extension instead of old extension
  $outputName = $img.DirectoryName + "\" + $img.BaseName + ".webp"

  # copy-paste the path to cwebp program 
  # and set its input and output parameters
  # more options https://developers.google.com/speed/webp/docs/cwebp
  C:\webp-converter\libwebp-0.6.1-windows-x64\bin\cwebp.exe $img.FullName -o $outputName
}
person pldg    schedule 01.04.2018
comment
Это не первоапрельская шутка, работает отлично, если добавить папку bin в PATH (переменные среды Windows), вы можете просто ввести, например, cwebp -q 75 -m 6 -af -f 50 -sharpness 0 -mt -v -progress $img.FullName -o $outputName. - person lowtechsun; 24.09.2018
comment
Как сделать так, чтобы последняя ссылка работала с пробелами в пути? Вместо C:\webp-converter\libwebp-0.6.1-windows-x64\bin\cwebp.exe $img.FullName -o $outputName быть C:\Program Files\a lot of spaces in the path\bin\cwebp.exe $img.FullName -o $outputName. Спасибо. - person EPurpl3; 10.07.2019
comment
@ EPurpl3, это может помочь: stackoverflow .com / questions / 18537098 /. - person pldg; 11.01.2020
comment
@pldg Как сделать так, чтобы это работало рекурсивно? У меня есть ветка с множеством вложенных папок с изображениями. - person Mirjana Katalina; 12.05.2021

Чтобы преобразовать любой формат изображения в webp из командной строки Windows (CMD)

Загрузите последнюю версию webp с этой страницы

Я загрузил это пакет, потому что моя система - 32-битная Windows 10

Извлеките его и установите переменную среды (выполните следующие шаги)

Нажмите кнопку «Пуск», введите «просмотреть дополнительные параметры системы» и откройте ее (этот шаг может отличаться в win xp или win 7). Нажмите «Переменные среды»> «Пользовательские переменные»> «Создать»> «Имя переменной: путь» Значение переменной: C: \ libwebp-1.0.2- окна-x86 \ bin

Теперь откройте CMD> Перейти в папку с изображениями, выполните следующую команду

cwebp -q 50 -m 6 -af -f 50 -sharpness 0 -mt -v -progress source_img.jpg -o converted.webp
person Mylsel    schedule 10.06.2019

Загрузив двоичные файлы cwebp (.exe) из Google, вы можете запустить его с PowerShell.

Затем добавьте каталог bin туда, куда вы извлекли cwebp lib, в свой путь Windows. Это что-то вроде этого C:\downloads\libs\LibWebP\bin, например. Если вы не знаете, как это сделать, поищите «как добавить что-то в Windows PATH». Вот пример ссылки.

Если вам нужно пройти через каждый подкаталог из текущего каталога, вы можете сделать это ниже, вместо того, чтобы вставлять путь к текущему каталогу в сценарии и делать это для каждой папки в каталоге.

# get current directory
$initpath = Get-Location
# get all directories
foreach($path in Get-Childitem) {
    if ($path.Attributes -eq "Directory") {
        set-location $path.FullName
          # get all files in the directory
          $images = Get-ChildItem $dir

          # loop through every image
          foreach ($img in $images) {
            # output file will be written in the same directory
            # but with .webp extension instead of old extension
            $outputName = $img.DirectoryName + "\" + $img.BaseName + ".webp"

            # since you have the cwebp bin folder in PATH just type the command
            # more options https://developers.google.com/speed/webp/docs/cwebp
            cwebp -q 75 -m 6 -af -f 50 -sharpness 0 -mt -v -progress $img.FullName -o $outputName
          }
    }
}
set-location $initpath
person lowtechsun    schedule 25.09.2018

Windows PowerShell показывает ОШИБКУ:

At line:7 char:18
+ >> foreach ($img in $images) {
+                  ~~ Unexpected token 'in' in expression or statement. At line:7 char:17
+ >> foreach ($img in $images) {
+                 ~ Missing closing ')' in expression. At line:7 char:28
+ >> foreach ($img in $images) {
+                            ~ Unexpected token ')' in expression or statement.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToke
person Maksym'sDesign    schedule 14.06.2021