1.
比我写的好~他是直接 命令行带参启动 pngquant 一个文件一个文件自动压缩。
pngquant也从官网下即可https://pngquant.org/pngquant-windows.zip-主要用里面的exe
缺点是 你也可以 主动去看,脚本里 的启动参数 限定了 png格式,因为 其他的 会出问题,比如越压越大。需要单独处理。tinypng.com主动 拖一拖吧
————————————————————————————————————————————————————————
我写的时候,其实本就 没想用 pngquant。。。所以 用的 tp的客户端,但是tp客户端 不能遍历 目录,
所以 弄了个折中,先 遍历目录将文件 移到一个 other,再用tp,再 move 回源目录 覆盖。如果 tp可以带参启动,
也能 写成第一种的方式。。。。。。。
2
.
TinyClient 网上下 www.pangzhan.net/2129.html
压缩图片,但是不能 自动的 嵌套目录,所以 写了个脚本
思路是 分三部完成压缩的操作
1.out.bat 这个脚本会 将某路径下 所有文件 ,包括其子/孙目录的文件 都移动到 ,脚本平行路径下的other目录下
2.用TinyClient 压缩other下的文件
3.back.bat 脚本 ,因为 移动时,我会将文件名加上源目录的前缀,所以back 里就是按照 记录 将文件覆盖回源目录~
---------------------
可惜的时 TinyClient 有500的限制。
这两个脚本 不需要大改,甚至 看懂,只需要 看 out脚本中的 assets这个字段,这就是 你要 压缩的 文件们的根目录,脚本
要和根目录在平级,他会将文件移动到 你主动建立的 平级目录 other下,也在脚本中 可以看到 other这个字段,注意 多次操作记得 清理other目录。
out.bat:
@echo off
SETLOCAL enabledelayedexpansion
for /r assets %%i in (*) do (
set var=!%%i!
echo !var!
set var=!var:\=____!
echo !var!
COPY %%i .\other\!var!
)
ENDLOCAL
back脚本则记住 other这个 目录名,跟out 里面定义的 一致,或者直接用这里 写好的 other即可
back.bat:
@echo off
SETLOCAL enabledelayedexpansion
for /r other %%i in (*) do (
set var=%%~ni%%~xi
echo !var!
set var=!var:____=\!
echo !var!
echo c:!var!
COPY %%i c:!var!
)
ENDLOCAL