如何制作一个易于使用的脚本/文件来在 Windows 7 上查找和旋转水平图像?

如何制作一个易于使用的脚本/文件来在 Windows 7 上查找和旋转水平图像?

如果我有一个包含数百张图片的文件夹,其中一些图片的宽度大于高度,我希望能够轻松旋转宽图片,使所有内容都垂直。目前,我必须浏览缩略图并手动翻转所有水平图像。

我曾看到过与此相关的“shell 脚本”和“imagemagick”,但我不知道如何在 Windows 7 上使用它们。我怎样才能制作一个批处理文件之类的东西,我可以轻松地将它放在文件夹中,并让它为我完成所有工作?

答案1

处理 .jpg(旋转)会降低其质量,因此最好从不要覆盖开始。

下载适用于 Windows 的 Imagemagick

来自批处理文件。不要覆盖原件。顺时针旋转 90 度:

@echo off
SETLOCAL ENABLEEXTENSIONS
md "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\rotated\"
for /f "tokens=*" %%x in ('dir /b "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\*.jpg"') do "path-to-imagemagick\convert.exe" "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\%%x" -rotate "90>" "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\rotated\%%x"
exit /b

例如:

@echo off
SETLOCAL ENABLEEXTENSIONS
md "%USERPROFILE%\Desktop\New folder\rotated\"
for /f "tokens=*" %%x in ('dir /b "%USERPROFILE%\desktop\new folder\*.jpg"') do "%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%USERPROFILE%\desktop\new folder\%%x" -rotate "90>" "%USERPROFILE%\desktop\new folder\rotated\%%x"
exit /b 

来自批处理文件。覆盖原始文件。顺时针旋转 90 度:

@echo off
SETLOCAL ENABLEEXTENSIONS
for /f "tokens=*" %%x in ('dir /b "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\*.jpg"') do "path-to-imagemagick\convert.exe" "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\%%x" -rotate "90>" "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\%%x"
exit /b 

例如:

@echo off
SETLOCAL ENABLEEXTENSIONS
for /f "tokens=*" %%x in ('dir /b "%USERPROFILE%\desktop\new folder\*.jpg"') do "%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%USERPROFILE%\desktop\new folder\%%x" -rotate "90>" "%USERPROFILE%\desktop\new folder\rotated\%%x"
exit /b 

一个顺时针旋转 90 度并覆盖启动目录中每个 .jpg 的 Windows 快捷方式:

   cmd /c for /f "tokens=*" %x in ('dir /b *.jpg') do "%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%x" -rotate "90>" "%x"

一个 Windows 快捷方式顺时针旋转 90 度并覆盖其启动目录和所有子目录中的每个 .jpg:

   cmd /c for /f "tokens=*" %x in ('dir /b /s *.jpg') do "%ProgramFiles%\ImageMagick-7.0.7-Q16\convert.exe" "%x" -rotate "90>" "%x"

开始于:

顺时针旋转 90 度

-rotate "90>"

逆时针旋转 90 度

-rotate "-90>"

对图像应用路径图像旋转(使用剪切操作)。使用 > 仅在图像宽度超过高度时旋转图像。< 仅在图像宽度小于高度时旋转图像。例如,如果您指定 -rotate "-90>" 并且图像大小为 480x640,则图像不会旋转。但是,如果图像为 640x480,则图像会旋转 -90 度。如果您使用 > 或 <,请将其括在引号中,以防止被误解为文件重定向。角落中的空三角形是旋转图像后留下的,将用背景颜色填充。以上来自这里。

另请参阅-歪曲操作符,特别是‘ScaleRotateTranslate’扭曲方法。

有关使用 imagemagick 命令行处理的更多信息,请参阅这里

相关内容