最近用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工具就可以了.