[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理怎样删除指定目录宽度小于指定像素的JPG图片?

本帖最后由 pcl_test 于 2016-11-16 20:35 编辑

求批处理代码,整理电脑发现特别多的缓存小图。

想批量删除“宽度小于100像素”的所有JPG格式图片,保留大与100像素。

请各位伸手帮忙。

5# hcy980


你不会没修改路径吧?? 你的123文件夹不会是不存在的吧??
hfg1977 发表于 2011-4-6 12:46


修改了,的确不能运行!

输入需要修改的目录后,批就停止了!

光标一直在闪,啥也不干·

接着顶起!

TOP

5# hcy980
set "nconvert=g:\DOS\command\第三方命令行程序\nconvert.exe"
......
if not exist "%Path_str%.\" (echo path error&goto:eof)


你不会没修改路径吧?? 你的123文件夹不会是不存在的吧??

TOP

谢谢版主帮忙. 
系统是XP2 OEM版~ 
复制了14楼的代码运行后得到的TXT是
问题还是没有解决!

%4{06IJSUE((A]{C)PDA5VO.jpg:333x345, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
%FY5M[4WNYH~TMWXV[O`P1M.jpg:378x337, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
(HFFHCN4BMEJUXZ%BXQ{_MO.jpg:516x338, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
(X_SSQ3~3BF@85Q)VF}RWTM.jpg:370x363, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
(~$OJDRPXXDIDGLROWZRC%U.jpg:205x226, 24bit, JFIF 1.1, Lossy + Huffman coding
)HA9IJ6YZIGTX_QK5TB1}3H.jpg:315x378, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
6VLF@%)ET0MCO}4MA`[email]2@GQH.jpg[/email]:313x189, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
7J~I@TV[(U`Q5TF[42%4()7.jpg:272x312, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
7NM`T[$]SUE~9%$769R)@ZD.jpg:291x327, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
8N3]%V7UR{7I9TZDM9PJOCN.jpg:369x257, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
9$@30L[TSV_D{D4NTNN_GUA.jpg:315x215, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
@Q8{L0FK)Y~YF8`C1]C2T]E.jpg:409x522, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding
@}ZQ(V_A$BHLU%_T449(}{H.jpg:163x87, 24bit, 96 DPI, JFIF 1.1, Lossy + Huffman coding

TOP

本帖最后由 tmplinshi 于 2011-4-6 16:43 编辑

难道 pvw32con.exe 不支持你的操作系统?pvw32con.exe 的运行环境是 9x/NT/2000/ME/XP (32 位)。

你对照下 4 楼的代码,或者干脆重新复制一遍。再运行试试。

还是不行的话,用下面的代码测试下。运行后会打开一个文件,把内容贴出来:
  1. @echo off
  2. set "目录=e:\123\"
  3. set "宽度=100" :: 删除小于此宽度的 JPG 图片
  4. set "path=%path%;%~dp0"
  5. pushd "%目录%\"
  6. >"%temp%\.p" (
  7.     echo "%cd%"
  8.     dir /a:d /s /b
  9. )
  10. for /f "usebackq delims=" %%P in ("%temp%\.p") do (
  11.     if exist "%%~P\*.jpg" (
  12.         >"%temp%\.p" pvw32con "%%~P\*.jpg"
  13.         start notepad "%temp%\.p" & exit /b
  14.     )
  15. )
复制代码

TOP

想不通...



加上一句,运行后看打开的 "%temp%\.p" 是什么内容。
tmplinshi 发表于 2011-4-5 22:54



打开一个 TXT。  应该是将I盘所有目录都例了出来!

I:\通讯工具\QQ2008\Dat\images
I:\通讯工具\QQ2008\Dat\Torch
I:\通讯工具\QQ2008\flashshow\qqshow0
I:\通讯工具\QQ2008\flashshow\qqshow1
I:\通讯工具\QQ2008\flashshow\qqshow2
I:\通讯工具\QQ2008\flashshow\qqshow3
I:\通讯工具\QQ2008\flashshow\qqshow4
I:\通讯工具\QQ2008\flashshow\qqshow5
I:\通讯工具\QQ2008\flashshow\qqshow6
I:\通讯工具\QQ2008\flashshow\qqshow7
I:\通讯工具\QQ2008\flashshow\qqshow8
I:\通讯工具\QQ2008\flashshow\qqshow9
I:\通讯工具\QQ2008\flashshow\xml0
I:\通讯工具\QQ2008\flashshow\xml1
I:\通讯工具\QQ2008\flashshow\xml2
I:\通讯工具\QQ2008\flashshow\xml3
I:\通讯工具\QQ2008\flashshow\xml4
I:\通讯工具\QQ2008\flashshow\xml5
I:\通讯工具\QQ2008\flashshow\xml6
I:\通讯工具\QQ2008\flashshow\xml7
I:\通讯工具\QQ2008\flashshow\xml8
I:\通讯工具\QQ2008\flashshow\xml9
I:\通讯工具\QQ2008\flashshow2\0
I:\通讯工具\QQ2008\flashshow2\1
I:\通讯工具\QQ2008\flashshow2\10
I:\通讯工具\QQ2008\flashshow2\11
I:\通讯工具\QQ2008\flashshow2\12
I:\通讯工具\QQ2008\flashshow2\13
I:\通讯工具\QQ2008\flashshow2\14
I:\通讯工具\QQ2008\flashshow2\15
I:\通讯工具\QQ2008\flashshow2\16
I:\通讯工具\QQ2008\flashshow2\17
I:\通讯工具\QQ2008\flashshow2\18
I:\通讯工具\QQ2008\flashshow2\19
I:\通讯工具\QQ2008\flashshow2\2
I:\通讯工具\QQ2008\flashshow2\20
I:\通讯工具\QQ2008\flashshow2\21
I:\通讯工具\QQ2008\flashshow2\22
I:\通讯工具\QQ2008\flashshow2\23
I:\通讯工具\QQ2008\flashshow2\24
I:\通讯工具\QQ2008\flashshow2\25
I:\通讯工具\QQ2008\flashshow2\26
I:\通讯工具\QQ2008\flashshow2\27
I:\通讯工具\QQ2008\flashshow2\28
I:\通讯工具\QQ2008\flashshow2\29
I:\通讯工具\QQ2008\flashshow2\3
I:\通讯工具\QQ2008\flashshow2\30
I:\通讯工具\QQ2008\flashshow2\31
I:\通讯工具\QQ2008\flashshow2\32
I:\通讯工具\QQ2008\flashshow2\33
I:\通讯工具\QQ2008\flashshow2\34
I:\通讯工具\QQ2008\flashshow2\35
I:\通讯工具\QQ2008\flashshow2\36
I:\通讯工具\QQ2008\flashshow2\37
I:\通讯工具\QQ2008\flashshow2\38
I:\通讯工具\QQ2008\flashshow2\39
I:\通讯工具\QQ2008\flashshow2\4
I:\通讯工具\QQ2008\flashshow2\40
I:\通讯工具\QQ2008\flashshow2\42
I:\通讯工具\QQ2008\flashshow2\43
I:\通讯工具\QQ2008\flashshow2\44
I:\通讯工具\QQ2008\flashshow2\45
I:\通讯工具\QQ2008\flashshow2\46
I:\通讯工具\QQ2008\flashshow2\47
I:\通讯工具\QQ2008\flashshow2\48
I:\通讯工具\QQ2008\flashshow2\49
I:\通讯工具\QQ2008\flashshow2\5
I:\通讯工具\QQ2008\flashshow2\50
I:\通讯工具\QQ2008\flashshow2\51
I:\通讯工具\QQ2008\flashshow2\52
I:\通讯工具\QQ2008\flashshow2\53
I:\通讯工具\QQ2008\flashshow2\54
I:\通讯工具\QQ2008\flashshow2\55
I:\通讯工具\QQ2008\flashshow2\56
I:\通讯工具\QQ2008\flashshow2\57
I:\通讯工具\QQ2008\flashshow2\58
I:\通讯工具\QQ2008\flashshow2\59
I:\通讯工具\QQ2008\flashshow2\6
I:\通讯工具\QQ2008\flashshow2\60
I:\通讯工具\QQ2008\flashshow2\61
I:\通讯工具\QQ2008\flashshow2\62
I:\通讯工具\QQ2008\flashshow2\63
I:\通讯工具\QQ2008\flashshow2\64
I:\通讯工具\QQ2008\flashshow2\65
I:\通讯工具\QQ2008\flashshow2\66

TOP

本帖最后由 tmplinshi 于 2011-4-5 22:56 编辑

想不通...

>"%temp%\.p" (
    echo "%cd%"
    dir /a:d /s /b
)
start notepad "%temp%\.p" & exit /b


加上一句,运行后看打开的 "%temp%\.p" 是什么内容。

TOP

10# tmplinshi

就是停止行动。  啥也不干!



我就是复制了你的代码,啥也没修改!

TOP

你打开一个 cmd 窗口,输入批处理路径来运行,看什么错误提示。

TOP

怪事,还是运行不起来。

版主,帮忙!

TOP

可以了,已修改代码。

TOP

5# hcy980


下载了 pvw32con.exe 吗?
tmplinshi 发表于 2011-4-5 21:34


下载了,并放在同一文件夹内了!

选中的地方,是不是要修改成绝对路径?    第一个目录 ,输入是不是正确!

TOP

5# hcy980


下载了 pvw32con.exe 吗?

TOP

谢谢,楼上的两位大大!

3楼的代码,运行不起来。 我已将nconvert.exe 下载,与批放在同一文件来。

提示 input you path  之后我输入目录  p:\123   批就停住了。 不能运行、

4楼代码,也运行不起来。
将目录修改为  目录=P:\123\   批一闪而过。

再求一次!

TOP

本帖最后由 tmplinshi 于 2011-4-5 21:50 编辑

需要下载 pvw32con.exe (http://bathome.net/thread-10539-1-3.html)
  1. @echo off
  2. set "目录=i:\"
  3. set "宽度=100" :: 删除小于此宽度的 JPG 图片
  4. set "path=%path%;%~dp0"
  5. pushd "%目录%\"
  6. >"%temp%\.p" (
  7.     echo "%cd%"
  8.     dir /a:d /s /b
  9. )
  10. for /f "usebackq delims=" %%P in ("%temp%\.p") do (
  11.     if exist "%%~P\*.jpg" (
  12.         >"%temp%\.p" pvw32con "%%~P\*.jpg"
  13.         for /f "usebackq tokens=1,2 delims=:" %%i in ("%temp%\.p") do (
  14.             set file="%%~P\%%i"
  15.             set width=%%j
  16.             set /a width = width
  17.             SetLocal EnableDelayedExpansion
  18.             if !width! lss %宽度% del /a /f !file!
  19.             EndLocal
  20.         )
  21.     )
  22. )
  23. del "%temp%\.p"
  24. popd
复制代码

TOP

返回列表