powershell 实现批量把文件夹下的bmp文件转换为jpg

以下是一个使用PowerShell将BMP图像批量转换为JPG(质量85)的脚本:

<#
.SYNOPSIS批量将BMP图像转换为JPG格式(质量85)
.DESCRIPTION此脚本会遍历指定文件夹中的所有BMP文件,并将它们转换为JPG格式,质量为85
.PARAMETER SourcePath包含BMP文件的源文件夹路径
.PARAMETER DestinationPath输出JPG文件的目标文件夹路径(可选,默认为源文件夹)
.EXAMPLE.\Convert-BmpToJpg.ps1 -SourcePath "C:\Images" -DestinationPath "C:\ConvertedImages"
#>param([Parameter(Mandatory=$true)][string]$SourcePath,[string]$DestinationPath = $SourcePath
)# 加载必要的程序集
Add-Type -AssemblyName System.Drawing# 创建目标目录(如果不存在)
if (!(Test-Path -Path $DestinationPath)) {New-Item -ItemType Directory -Path $DestinationPath | Out-Null
}# 获取所有BMP文件
$bmpFiles = Get-ChildItem -Path $SourcePath -Filter "*.bmp"# 设置JPEG编码器参数(质量85)
$encoder = [System.Drawing.Imaging.ImageCodecInfo]::GetImageEncoders() | Where-Object { $_.FormatDescription -eq "JPEG" }
$encoderParams = New-Object System.Drawing.Imaging.EncoderParameters(1)
$encoderParams.Param[0] = New-Object System.Drawing.Imaging.EncoderParameter([System.Drawing.Imaging.Encoder]::Quality, 85)# 转换每个文件
foreach ($file in $bmpFiles) {try {$inputPath = $file.FullName$outputPath = Join-Path -Path $DestinationPath -ChildPath ($file.BaseName + ".jpg")Write-Host "正在转换: $($file.Name) -> $($file.BaseName).jpg"# 读取BMP文件$image = [System.Drawing.Image]::FromFile($inputPath)# 保存为JPG$image.Save($outputPath, $encoder, $encoderParams)# 释放资源$image.Dispose()Write-Host "转换完成: $($file.BaseName).jpg" -ForegroundColor Green}catch {Write-Host "转换 $($file.Name) 时出错: $_" -ForegroundColor Red}
}Write-Host "所有转换操作已完成!" -ForegroundColor Cyan

使用说明:

  1. 将上述代码保存为.ps1文件,例如Convert-BmpToJpg.ps1

  2. 在PowerShell中运行脚本:

    .\Convert-BmpToJpg.ps1 -SourcePath "C:\YourBmpFolder" -DestinationPath "C:\OutputFolder"
    

    (如果省略-DestinationPath参数,输出文件将保存在源文件夹中)

  3. 脚本会处理指定文件夹中的所有.bmp文件,并将它们转换为质量为85的.jpg文件

注意事项:

  • 需要.NET Framework支持(通常Windows系统都已安装)
  • 原始BMP文件不会被删除
  • 如果目标文件夹中有同名JPG文件,它们会被覆盖
  • 转换大文件可能需要一些时间

如果需要调整JPG质量,可以修改$encoderParams.Param[0]中的85为其他值(1-100)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/916231.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

星图云开发者平台新功能速递 | 页面编辑器:全场景编辑器,提供系统全面的解决方案

在数字化转型的浪潮下&#xff0c;高效的低代码开发工具成为企业和开发者的刚需&#xff0c;其需要针对Web、APP、H5等不同终端快速构建应用。但不同场景的开发往往需要不同的工具和技术栈&#xff0c;导致开发效率低、协作成本高。星图云开发者平台创新推出多类型页面专用编辑…

激活函数Focal Loss 详解​

Focal Loss 详解​1. 背景​Focal Loss 是由 Lin et al. (2017) 在论文 《Focal Loss for Dense Object Detection》 中提出的一种损失函数&#xff0c;主要用于解决 目标检测&#xff08;Object Detection&#xff09; 中的 类别不平衡问题&#xff0c;特别是在 One-Stage 检测…

Python 链接各种中间件[Mysql\redis\mssql\tdengine]

文章目录链接参数设置logger 日志redis 链接mysql 链接emqx 链接mssql 链接tdengine 链接采集OPCUA的点表的配置信息设备点表OPCUA 采集 数据程序数据采集逻辑链接参数 import randomtdengine_connection_params {username: root,password: taosdata,host: 127.0.0.1,port: 6…

C Primer Plus 第6版 编程练习——第11章(上)

本章共16题&#xff0c;分上中下三篇1.设计并测试一个函数&#xff0c;从输入中获取n个字符&#xff08;包括空白、制表符、换行符)&#xff0c;把结果存储在一个数组里&#xff0c;它的地址被传递作为一个参数。int get_n_char(char arr[], int n) {int i 0;char ch;while (i…

Java开发岗面试记录合集

一、Java 核心1. 基础语法final关键字的作用修饰类&#xff1a;类不可被继承&#xff08;如String类&#xff09;&#xff0c;保证类的稳定性和安全性。修饰方法&#xff1a;方法不可被重写&#xff08;防止子类篡改父类核心逻辑&#xff0c;如工具类方法&#xff09;。修饰变量…

Linux 系统时间设置(date 和 ntpdate)-linux028

date 命令&#xff1a;查看或设置系统时间1. 查看当前时间date示例输出&#xff1a;Tue Mar 4 01:36:45 CST 20142. 设置时间&#xff08;不设置日期&#xff09;date -s 09:38:40设置后输出&#xff1a;Tue Mar 4 09:38:40 CST 20143. 设置完整日期和时间&#xff08;推荐格…

iOS上使用WebRTC推拉流的案例

一、库集成 首先&#xff0c;确保在你的 Podfile 中添加依赖&#xff1a; pod GoogleWebRTC然后执行 pod install 安装库。 二、代码示例 2.1、权限配置&#xff1a;在 Info.plist 中添加摄像头、麦克风权限 <!-- 需要在 Info.plist 中添加以下权限 --> <key>NSCam…

API: return response as HTML table

想要把response table变成HTML的table&#xff0c;即想达到下面这种的话<table boarder"1" style"width:100%; boarder-collapse: collapse; text-align:left"><tr><th>Customer</th><th>Date</th><th>Debit Am…

OneNote 当前无法同步笔记。将继续尝试。 (错误代码: 0xE00009C8 bb0ur)问题解决

之前因为同步错误&#xff0c;导致OneNote一个笔记本内容全部消失&#xff0c;笔记本内容如下图同步状态和错误如下&#xff1a;提醒错误为&#xff1a;OneNote 当前无法同步笔记。将继续尝试。 (错误代码: 0xE00009C8 bb0ur)当时心态有点崩&#xff0c;也是查了好些资料&#…

OneCode3.0 Gallery 组件前后端映射机制:从注解配置到前端渲染的完整链路

一、注解体系与前端组件的映射基础 ​ OneCode Gallery 组件实现了 Java 注解与前端 UI 组件的深度绑定&#xff0c;通过GalleryAnnotation、GalleryItemAnnotation和GalleryViewAnnotation三个核心注解&#xff0c;构建了从后端配置到前端渲染的完整链路。这种映射机制的核心价…

规则分配脚本

需求&#xff1a; 1.根据用户编写的要报规则,去mysql库里SysManage_Rule表获取已经启用的规则作为条件&#xff08;例如[{“field”: “关键词”, “logic”: “AND”, “value”: “阿尔法”, “operator”: “”&#xff0c;, “assign_user”: “user222”}]&#xff09;条…

SEO实战派白杨SEO:SEO中说的框计算、知心搜索(知识图谱)是什么?有什么用处?

SEO里框计算是什么&#xff1f;有什么用处&#xff1f;SEO里框计划算是百度2010年提出的&#xff0c;指当用户搜索某些关键词查询时&#xff0c;搜索引擎在结果页直接展示答案的技术&#xff08;如天气、汇率等&#xff09;&#xff0c;用户无需点击网站即可获取信息&#xff0…

软件工程:软件需求

简介本篇博客记录了我在软件工程学习过程中关于软件需求与面向对象基础知识的学习体会和要点总结。博客共分为三个关卡内容&#xff1a;第1关围绕“软件需求”的定义、分类及分析过程展开&#xff0c;让我清晰地理解了功能性需求、非功能性需求与约束条件的区别&#xff1b;第2…

MES系统是什么,有哪些特性?

MES系统是一套面向制造企业车间执行层的生产信息化管理系统。它能够为操作人员和管理人员提供计划的执行、跟踪以及所有资源&#xff08;包括人、设备、物料、客户需求等&#xff09;的当前状态。通过MES系统可以对从订单下达到产品完成的整个生产过程进行优化管理。当工厂发生…

Vue2下

六&#xff1a;vue-router &#xff08;重要&#xff09; &#xff08;一&#xff09;. 对路由的理解 1.什么是路由 路由&#xff08;Router&#xff09; 是管理页面跳转和 URL 与视图映射关系的机制&#xff0c;核心作用是&#xff1a;根据不同的 URL 路径&#xff0c;展示对…

在 Windows 上安装设置 MongoDB及常见问题

介绍 MongoDB 是一个开源的 NoSQL 数据库系统&#xff0c;它以一种灵活的类似 JSON 的格式&#xff08;称为 BSON&#xff08;二进制 JSON&#xff09;&#xff09;存储数据。它使用动态模式&#xff0c;这意味着与关系型数据库不同&#xff0c;MongoDB 不需要在向数据库添加数…

Effective C++ 条款01:视 C++ 为一个语言联邦

Effective C 条款01&#xff1a;视 C 为一个语言联邦核心思想&#xff1a;C 是由多个子语言组成的联邦&#xff0c;每个子语言有自己的编程范式。理解这些子语言及其规则切换&#xff0c;是写出高效 C 代码的关键。 四个子语言及其规则&#xff1a; C 语言 基础&#xff1a;过程…

云效CI/CD教程(PHP项目)

参考文档 参考云效的官方文档https://help.aliyun.com/zh/yunxiao/ 一、新建代码库 这是第一步&#xff0c;和码云的差不多 二、配SSH密钥 这个和码云&#xff0c;github上类似&#xff0c;都需要&#xff0c;云效的SSH密钥证书不是采用 RSA算法&#xff0c;而是采用了ED2…

单片机是怎么控制的

单片机作为电子系统的控制核心&#xff0c;通过接收外部信号、执行预设程序、驱动外部设备的方式实现控制功能&#xff0c;其控制过程涉及信号输入、数据处理和指令输出三个关键环节&#xff0c;每个环节的协同配合决定了整体控制效果。 信号输入&#xff1a;获取外部信息 单片…

deepseek本地部署,轻松实现编程自由

小伙伴们&#xff0c;大家好&#xff0c;今天我们来实现deepseek本地部署&#xff0c;轻松实现编程自由&#xff01;安装ollama 安装ollama 首先我们安装ollama 打开ollama官网&#xff0c;下载安装符合自己系统的版本。 找到要安装的模型deepseek-r1开始-运行 输入cmd出现…