windows腳本批量移動-配合TinyClient批量壓縮圖片

1.

http://sixsir.cn/?id=4

比我寫的好~他是直接 命令行帶參啓動 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
 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章