Board logo

标题: [其他] nconvert怎样批量调整指定目录下所有子文件夹内的图片大小? [打印本页]

作者: hcy980    时间: 2010-8-28 11:04     标题: nconvert怎样批量调整指定目录下所有子文件夹内的图片大小?

想修改D:\123  目录下所有子文件夹内的*.JPG  图片,批量调整尺寸"宽度为900像素"

1: nconvert.exe  这个文件我又应该放到系统的哪个文件内?

2:请问各位,应该怎么直接用CMD 运行来nconvert.达到这个目的!

[ 本帖最后由 hcy980 于 2010-8-28 11:31 编辑 ]
作者: TX_kakashi    时间: 2010-8-28 11:16

nconvert 怎么用?
  1. @echo
  2. pushd C:\123
  3. for /f "delims=" %%i in ('dir/b/s/a-d *.jpg') do (nconvert %%i)
复制代码

[ 本帖最后由 TX_kakashi 于 2010-8-28 11:20 编辑 ]
作者: hcy980    时间: 2010-8-28 11:17

原帖由 TX_kakashi 于 2010-8-28 11:16 发表
nconvert 怎么用?@echo
pushd C:\123
for /f "delims=" %%i in ('dir/b/s/a-d *.jpg')do (nconvert %%i)


对头,就是用不来! 看着批处理就眼晕!!  先谢谢哥们了!
作者: TX_kakashi    时间: 2010-8-28 11:20

在cmd下,运行nconvert/?看看咯
作者: hcy980    时间: 2010-8-28 11:26

看不懂呢,请老大明示下!

nconvert.exe 这文件应该放系统哪个目录中,直接用XP系统带CMD 应该打什么命令?

[ 本帖最后由 hcy980 于 2010-8-28 11:47 编辑 ]
作者: TX_kakashi    时间: 2010-8-28 12:01

随便放一个目录,比方说c:\123\,然后写一个1.cmd内容如下:
  1. cmd
复制代码
然后输入nconvert/?或者直接输入nconvert应该有点帮助内容的。
作者: hcy980    时间: 2010-8-28 14:47

原帖由 TX_kakashi 于 2010-8-28 12:01 发表
随便放一个目录,比方说c:\123\,然后写一个1.cmd内容如下:cmd然后输入nconvert/?或者直接输入nconvert应该有点帮助内容的。


咱论坛就有的下载!
http://bbs.bathome.net/viewthread.php?tid=4567&highlight=nconvert

全英文实在是看不懂,请大伙帮忙!!

[ 本帖最后由 hcy980 于 2010-8-28 14:48 编辑 ]
作者: TX_kakashi    时间: 2010-8-28 15:10

不太明白“调整尺寸"宽度为900像素"”是什么意思?原来1024x768的变成900x768的?
作者: hcy980    时间: 2010-8-28 15:15

原帖由 TX_kakashi 于 2010-8-28 15:10 发表
不太明白“调整尺寸"宽度为900像素"”是什么意思?原来1024x768的变成900x768的?


正是,另一边由程序自动缩放!
作者: TX_kakashi    时间: 2010-8-28 20:14

我快疯了,这个自动所行功能怎么去掉啊?一加code标签就全部东西缩一行了。
  1. @echo off
  2. setlocal
  3. for /f "delims=" %%z in ('dir/b nconvert.exe') do set "nconvert=%%~fz"
  4. ::d:\123 可以自行修改
  5. pushd d:\123
  6. ::这里是宽度,高度由程序根据比例自动调节
  7. set imageWidth=900
  8. for /f "delims=" %%I in ('dir/b/s/a-d *.jpg') do echo Editing [%%I]&&"%nconvert%" -overwrite -out jpeg -ratio -resize %imageWidth% 0 "%%I">nul 2>nul
  9. echo ==============
  10. echo Done!
  11. echo.
  12. popd
  13. echo 按任意键退出.
  14. pause>nul
复制代码

[ 本帖最后由 TX_kakashi 于 2010-8-28 21:06 编辑 ]
作者: hcy980    时间: 2010-8-28 20:39

谢谢楼上的兄弟,再帮我写个简单的批处理吧,因为我是远程管理,拖拉不方便!  简单的可以,自己修改路径和宽度!
作者: TX_kakashi    时间: 2010-8-28 21:07

已修改,见10楼
作者: hcy980    时间: 2010-8-29 12:48

原帖由 TX_kakashi 于 2010-8-28 21:07 发表
已修改,见10楼

刚刚运行了这个批,可以读出文件,但对图片大小没有进行调整!
不知道哪里错了~   请再帮忙修改下!
谢谢
作者: cjiabing    时间: 2010-8-29 12:55

百度搜索时见批处理在两个方面用得最多,一个是黑客,一个是照片编辑。这里终于有人讨论照片的批处理了,呵呵,虽然不懂,但想了解下。
作者: Batcher    时间: 2010-8-29 19:37     标题: 回复 14楼 的帖子

可能是因为你在论坛潜水的时间还不够多,三年前有个帖子:
http://bbs.bathome.net/thread-69-1-1.html

哪些只会使用几个小工具的所谓“黑客”,根本就是不懂批处理的小P孩,不值一晒。
作者: TX_kakashi    时间: 2010-8-29 20:24

原帖由 hcy980 于 2010-8-29 12:48 发表

刚刚运行了这个批,可以读出文件,但对图片大小没有进行调整!
不知道哪里错了~   请再帮忙修改下!
谢谢


你当初的要求只是改动尺寸额,大小改动我再研究研究。
作者: TX_kakashi    时间: 2010-8-29 20:40

-c value          : Compression number (default : 0)
这个参数说是压缩,似乎没啥作用啊。

这个有点作用:
-q value          : JPEG/PNG/FPX/WIC/PDF quality (default : 100)
修改图片的质量,1是最差,100是最好,按需要调节。这个值与文件大小正比关系。
  1. @echo off&setlocal
  2. for /f "delims=" %%z in ('dir/b nconvert.exe') do set "nconvert=%%~fz"
  3. ::这里是路径,d:\123 可以自行修改
  4. pushd d:\123
  5. ::这里是宽度,高度由程序根据比例自动调节
  6. set imageWidth=900
  7. ::这里设置图片质量(0~100,默认50)
  8. set iQuility=50
  9. for /f "delims=" %%I in ('dir/b/s/a-d *.jpg') do "%nconvert%" -c 5 -q %iQuility% -overwrite -out jpeg -ratio -resize %imageWidth% 0 "%%I">nul
  10. echo ==============&echo Done!&echo.
  11. popd
  12. echo 按任意键退出.
  13. pause>nul
复制代码

作者: wpy4206    时间: 2016-8-28 20:01

回复 10# TX_kakashi


    高度好像没有由程序根据比例自动调节,请教大神
作者: 诗歌王位    时间: 2016-8-28 21:19

回复 15# Batcher


    15楼链接的帖子很经典,我头几天上论坛的时候就看见了,当时研读了许久,收获颇多。学习本该就是先易后难的纵向经典,加横向的字典式普及。建议大家可以多看看,强烈推荐!!!!!!!!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2