对于多次执行jar包这样的场景,可以考虑通过写批处理的文件来释放双手,接下来看怎么一步一步完善bat文件。
Windows系统执行批量操作
新建.txt文件,重命名为.bat,然后右键编辑文本或者用Notepad++打开进行编辑。
简单版本:
根据cmd里输入的命令,直接把命令放到bat文件进行执行(首先保证有java环境)
java -jar 包名.jar 具体执行的命令
C:\Users\ND>java -jar C:\Users\XX\Desktop\blindPicture\blind-watermark.jar -imag e -e C:\Users\XX\Desktop\blindPicture\girl.jpg 111 C:\Users\XX\Desktop\blindPict ure\output\desbat.jpg
升级版本1:
把各个文件的地址抽取出来,易统一修改且美观。变量抽取用set 变量=具体内容
,引用是需要用%变量%
来获取值
@echo off
set jarpath=C:\Users\XX\Desktop\blindPicture\blind-watermark.jar
set srcpath=C:\Users\XX\Desktop\blindPicture\girl.jpg
set markcontent=测试123@test
set despath=C:\Users\XX\Desktop\blindPicture\output\desbat.jpg
java -jar %jarpath% -image -e %srcpath% %markcontent% %despath%
升级版本2:
在使用过程中用到中文,结果显示乱码,根据下面的代码完美解决。rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)
chcp 65001 就是换成UTF-8代码页
chcp 936 可以换回默认的GBK
chcp 437 是美国英语
@echo off
rem 后续命令使用的是:UTF-8编码
chcp 65001
set jarpath=C:\Users\XX\Desktop\blindPicture\blind-watermark.jar
set srcpath=C:\Users\XX\Desktop\blindPicture\girl.jpg
set markcontent=测试123@test
set despath=C:\Users\XX\Desktop\blindPicture\output\desbat.jpg
java -jar %jarpath% -image -e %srcpath% %markcontent% %despath%
升级版本3:
可以修改输入输出的文件名称
1、根据随机数来生成文件名称:%RANDOM%
resbat%RANDOM%.jpg
2、根据时间来生成文件名称:
set Ymd=%date:~0,4%%date:~5,2%%date:~8,2%
set hms=%time:~0,2%%time:~3,2%%time:~6,2%
resbat%Ymd%%hms%.jpg
Linux系统执行批量操作
对于小白,很可能会把Windows系统下的bat文件放到Linux系统进行运行,实际并不是这样的,需要在Linux系统下直接敲命令进行文件创建、批量内容写入及运行
1、vi t.sh
新建文件t.sh(文件名随便取)
2、点击键盘字母i
,进入编辑模式,复制进需要批量跑的脚本内容
3、cat t.sh
查看内容是否正确写入
4、sh t.sh
执行t.sh文件
网友评论