使用.bat文件在文件夹imagemagick magick中压缩jpg

使用.bat文件在文件夹imagemagick magick中压缩jpg,imagemagick,jpeg,Imagemagick,Jpeg,编辑(最终版) 我知道了 步骤1:在windows上安装image magick 步骤2:在程序文件中找到magick.exe文件。在方便的地方保存一份。每次你有一个照片文件夹时,你都会复制这些照片 步骤3:创建一个批处理文件,(notepad另存为.bat)(例如magick.bat),并将该文件保存在与步骤2相同的方便位置。每次你有一个照片文件夹时,你也会复制这些照片。批次代码如下所示: @ECHO ON FOR %%a in (*.jpg) DO magick convert %%a

编辑(最终版)

我知道了

步骤1:在windows上安装image magick

步骤2:在程序文件中找到magick.exe文件。在方便的地方保存一份。每次你有一个照片文件夹时,你都会复制这些照片

步骤3:创建一个批处理文件,(notepad另存为.bat)(例如magick.bat),并将该文件保存在与步骤2相同的方便位置。每次你有一个照片文件夹时,你也会复制这些照片。批次代码如下所示:

@ECHO ON

  FOR %%a in (*.jpg) DO magick convert %%a -quality 95%% %%~na_small.jpg

PAUSE
步骤4:每次要压缩照片时,将.bat和magick.exe都复制到照片文件夹中,然后双击.bat批处理文件并让其运行!您的压缩照片将开始显示

[文件夹外观示例][1]

我真的不擅长这个。我只想创建一个.bat文件,将该文件复制并粘贴到我的照片所在的文件夹中,然后双击该文件,以便压缩我的JPG

但随着我的回声,我可以看到它不断循环的第一个jpg,然后它停止。之后什么也没发生。也不会创建或覆盖新文件

有人能告诉我要写的代码吗

@ECHO ON

pause

for %%A In (*.jpg) do (magick -i "%%A" -quality 85 "%%~nAx.jpg")

PAUSE
多谢各位

编辑:这是Echo打开时的样子

I:\Photos\unsorted\testing>pause
Press any key to continue . . .

I:\Photos\unsorted\testing>for %A In (*.jpg) do (magick -i "%A" -quality 85 "%~nAx.jpg" )

I:\Photos\unsorted\testing>(magick -i "XH1F0270.JPG" -quality 85 "XH1F0270x.jpg" )

I:\Photos\unsorted\testing>pause
Press any key to continue . . .```


  [1]: https://i.stack.imgur.com/KhhEx.png
我知道了

步骤1:在windows上安装image magick

步骤2:在程序文件中找到magick.exe文件。在方便的地方保存一份。每次你有一个照片文件夹时,你都会复制这些照片

步骤3:创建一个批处理文件,(notepad另存为.bat)(例如magick.bat),并将该文件保存在与步骤2相同的方便位置。每次你有一个照片文件夹时,你也会复制这些照片。批次代码如下所示:

@ECHO ON

  FOR %%a in (*.jpg) DO magick convert %%a -quality 95%% %%~na_small.jpg

PAUSE
@呼应

对于(*.jpg)中的%%a,请进行魔法转换%%a-质量95%%%%na_small.jpg

停顿


步骤4:每次要压缩照片时,将.bat和magick.exe都复制到照片文件夹中,然后双击.bat批处理文件并让其运行!您的压缩照片将开始显示

你说的“然后它停止”是什么意思?它是否到达第二个
暂停
?复制控制台的完整输出,并将其添加到您的问题中。为什么不使用ImageMagick mogrify来完成此操作呢。它处理整个文件夹的文件,而不必编写脚本循环。请参阅。@paddy编辑了我的帖子以包含控制台的消息。@fmw42我可以澄清一下,要使用mogrify,我必须打开cmd和cd,一直到我的照片文件夹,并在那里使用mogrify功能吗?如果是这样的话,我真的希望得到一些帮助来修复.bat文件,因为否则我必须继续使用cmd来访问我的Photoshot。您可以在mogrify中放置路径,这样您就不必将cd刻录到映像目录。还可以使用-path选项指定输出目录。例如,在unix语法中:
mogrify-path desktop/test2-format png desktop/test1/*.jpg
将处理桌面上我的test1目录中的所有jpg文件,并将结果作为png放入桌面上我的test2文件夹。我在主目录下运行mogrify命令。对不起,我在Mac上,正在编写bash shell脚本。我不知道Windows.bat脚本的语法。但是我的mogrify命令与.bat相同,只是文件路径使用\not/