gpt4 book ai didi

powershell - 将所有图像转换为jpg

转载 作者:行者123 更新时间:2023-12-03 16:50:15 25 4
gpt4 key购买 nike

我需要将文件夹和子文件夹中的所有图像转换为jpg。我需要使用命令文件批处理此过程。 GUI工具针对我来说我需要脚本。

我尝试使用ImageMagick的mogrify.exe,也有convert.exe函数,但是afaik都可以转换图像。

我写了下一个脚本:

$rootdir = "E:\Apps\скрипты\temp1\graphics"
$files = dir -r -i *.png $rootdir
foreach ($file in $files) {.\mogrify.exe -format png *jpg $file}

但这是行不通的,当我尝试运行它时,出现错误:
mogrify.exe: unable to open file `*jpg' @ error/png.c/ReadPNGImage/3633.
mogrify.exe: Improper image header `E:\Apps\скрипты\temp1\graphics\telluric\day\
Athens\2011-07-03-17.png' @ error/png.c/ReadPNGImage/3641.
mogrify.exe: unable to open image `*jpg': Invalid argument @ error/blob.c/OpenBl
ob/2588.

我也找到下一个代码:
[Reflection.Assembly]::LoadWithPartialName('System.Drawing')

$img=[Drawing.Image]::FromFile("$(cd)\Max.jpg")
$img.Save("$(cd)\max.gif", 'Gif')
$img.Dispose()

我如何使它与dirs树配合使用并将png和tiff转换为jpg?

最佳答案

我在这里完成了将位图文件转换为图标文件的类似操作:

http://sev17.com/2011/07/creating-icons-files/

我根据您的要求进行了调整,并测试了将图像文件转换为jpg的功能:

function ConvertTo-Jpg
{
[cmdletbinding()]
param([Parameter(Mandatory=$true, ValueFromPipeline = $true)] $Path)

process{
if ($Path -is [string])
{ $Path = get-childitem $Path }

$Path | foreach {
$image = [System.Drawing.Image]::FromFile($($_.FullName));
$FilePath = [IO.Path]::ChangeExtension($_.FullName, '.jpg');
$image.Save($FilePath, [System.Drawing.Imaging.ImageFormat]::Jpeg);
$image.Dispose();
}
}

}

#Use function:
#Cd to directory w/ png files
cd .\bin\pngTest

#Run ConvertTo-Jpg function
Get-ChildItem *.png | ConvertTo-Jpg

关于powershell - 将所有图像转换为jpg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6863021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com