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