• [脚本] 一个用于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 loglist.txt del loglist.txt
    13 
    14 dir /a/b *.jpg > loglist.txt
    15 
    16 set /a count = 0
    17 for /f "delims=." %%i in (loglist.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工具就可以了.

  • 相关阅读:
    React 创建一个自动跟新时间的组件
    React 组件传值 父传递儿子
    React 以两种形式去创建组件 类或者函数(二)
    React 语法基础(一)之表达式和jsx
    ref的使用
    使用scale等比例缩放图片
    Vue动态加载图片图片不显示
    div里面的元素在【垂直 方向】上水平分布 使用calc()函数动态计算
    控制label标签的宽度,不让它换行 label标签左对齐
    表单验证
  • 原文地址:https://www.cnblogs.com/lancelod/p/4157893.html
Copyright © 2020-2023  润新知