[腳本] 一個用於BMP到EPS轉換的BAT腳本實現(需要安裝bmeps)

最近用LaTeX寫文章, 圖片需要使用eps格式. 如果你安裝了bmeps這個工具(一般你裝了CTeX就自帶這個工具的), 可以在需要轉換的目錄打開CMD窗口, 然後輸入:

bmeps -c a.jpg a.eps

-c參數的意思是保留色彩信息, 如果不加這個參數有時候會有奇怪的事情發生...

a.jpg也可以是bmp, 不過最好是jpg啦, 不然也會有奇怪的事情發生...

隨後就寫了一個用於批量轉換的批處理代碼, 很短, 如下:

 1 @echo off
 2 setlocal enabledelayedexpansion
 3 echo 請將需要處理的jpg文件放在本腳本目錄下
 4 echo 所有輸出均位於 ./eps/
 5 echo;
 6 pause
 7 echo 開始轉換...
 8 echo;
 9 
10 if not exist log\ md log\
11 if not exist eps\ md eps\
12 if exist log\list.txt del log\list.txt
13 
14 dir /a/b *.jpg > log\list.txt
15 
16 set /a count = 0
17 for /f "delims=." %%i in (log\list.txt) do (
18     if exist %%i.jpg (
19         bmeps -c %%i.jpg eps\%%i.eps
20         set /a count += 1
21     )
22 )
23 
24 echo 轉換完畢, 共處理%count%個文件
25 echo; 
26 rd /s/q log
27 pause

核心部分是17到22行.

第14行輸出所有jpg文件的文件名到文本文件

17行 /f參數表示循環用的集合來自於文件

delims代表分隔符, 這裏用'.'來分割 以獲取所有不帶後綴的文件名

(我不會告訴你我沒有找到能用的字符串替代的方法的)

網上說的那些 

set a = aaabbb
set b=!a:aaa=bbb!

純屬扯淡, 反正我試了完全沒用, 還有%%黨, 感嘆號的位置我也換了無數種搭配, 統統都是扯淡.

%%i 是for循環的局部變量的名字

後面比較簡單, 調用bmeps工具就可以了.

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