Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1155925
  • 博文数量: 150
  • 博客积分: 2739
  • 博客等级: 少校
  • 技术积分: 2392
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-07 12:28
文章分类

全部博文(150)

文章存档

2015年(2)

2014年(16)

2013年(10)

2012年(58)

2011年(64)

分类: C/C++

2015-01-28 14:54:13


Powershell批量处理各个格式的图片大小


    公司备案,照出的图片大小各式各样,而要求是使用统一小于95kb大小的图片才能处理,PS操作一两张图片还可以可是当有上千个各种图片需要处理那就太浪费时间
而且工作效率大大的降低,为了降低同事的劳动时间就利用业余时间写了个脚本方便操作。此处采用Poweshell处理,本来想用linux下处理的但是对中文支持不好,就果断采用Powershell,这在Windows下是个很生强大的工具。特此留备。

点击(此处)折叠或打开

  1. #定义要处理文件目录
  2. $pwd='D:\azure\图片\郑州'
  3. #显示当前的目录如果把true改成fasle是显示当前文件
  4. $filelist=Get-ChildItem $pwd | ?{$_.PsIsContainer -eq $true}|%{$_.Name}
  5. foreach ($file in $filelist) {
  6. cd D:\azure\图片\郑州\$file
  7. #定义输出目录文件的路径
  8. mkdir E:\test\$file
  9. #$tmpname=Get-ChildItem .| ?{$_.PsIsContainer -eq $false}|%{$_.Name}
  10. #$tmpsize=Get-ChildItem .|%{$_.Length}
  11. $tmpname=Get-ChildItem .| ?{$_.PsIsContainer -eq $false}
  12. #$tmpsize.name
  13. #$tmpname
  14. #$tmpsize
  15.  foreach ( $n in $tmpname) {
  16. #处理文件大于2M的文件并约束调整到小于95kb的图片
  17.    if ( $n.Length -gt 2097152 ) {
  18.    & 'C:\Program Files\ImageMagick-6.9.0-Q16\convert.exe' $n.Name -resize 300 E:\test\$file\$n
  19.    }
  20.    elseif ( $n.Length -gt 838860 ) {
  21.    & 'C:\Program Files\ImageMagick-6.9.0-Q16\convert.exe' $n.Name -resize 600 E:\test\$file\$n
  22.    }
  23.    elseif ( $size -gt 204800 ) {
  24.    & 'C:\Program Files\ImageMagick-6.9.0-Q16\convert.exe' $n.Name -resize 1600 E:\test\$file\$n
  25.    }
  26.    elseif ( $size -gt 102400 ) {
  27.    & 'C:\Program Files\ImageMagick-6.9.0-Q16\convert.exe' $n.Name -resize 1800 E:\test\$file\$n
  28.    }
  29.  }
  30.   }

阅读(2555) | 评论(0) | 转发(0) |
0

上一篇:IPTABLES安全设置

下一篇:没有了

给主人留下些什么吧!~~