|
本帖最后由 exity 于 2018-8-3 09:36 编辑
今天社长刚刚教了一次怎么用bat脚本实现multiwfn快速输出填色图的方法,非常方便,而且不会出错,掌握后可以提升N个数量级的效率,分享给大家,共同进步。
以批量生成LOL填色图为例,过程如下:
注意1:以下提到的所有文件都必须放在multiwfn文件夹中。
注意2:可以修改下文中的LOL.txt文件来实现其他图形批量输出的功能。
1 下载最新版的Multiwfn,http://sobereva.com/multiwfn/,目前最新稳定版是3.5,测试版为3.6(dev),建议总是下载最新版本。
2 解压缩,把计算好的"*.wfn"文件放在Multiwfn文件夹中,wfn的生成参考“详谈Multiwfn支持的输入文件类型、产生方法以及相互转换”一文。
3 在解压好的Multiwfn文件夹中找到"settings.ini"文件,用记事本,notepad++等文本编辑器打开,搜索"silent"关键词,定位到"isilent= 0"一行,把0改为1,保存退出。(这一步是为了开启Multiwfn的silent模式,在此模式中,不会有窗口弹出导致运行中断)
4 在Multiwfn文件夹内新建一个LOL.txt文件,此文件是Multiwfn读取输入命令的顺序,即和你手工输入的命令的顺序一致,此文件可以命名为任何你想要的名字,保证半角,没有奇怪的字符即可,LOL.txt内容如下:(紫色字体,不包括===)
===
4
10
1
1000,1000
1
1.2
2
3
5
0,0
3
0.5
11
5
12
1,0
8
1
0
===
5 在Multiwfn文件夹内新建批处理LOL_batch.bat文件,内容如下:(不包括上下的===号)
===
for /f %%i in ('dir *.wfn /b') do (
Multiwfn %%i < LOL.txt >
rename dislin.png %%~ni.png
)
===
DONE!
最终效果是,如果你有一系列命名为abc.wfn, bca.wfn, cba.wfn的文件放在multiwfn文件夹下,双击LOL_batch.bat后就能得到abc.png, bca.png, cba.png的LOL填色图,非常方便。
PS:
如果为了清爽,希望把"*.wfn"文件全部集中在一个文件夹里,例如 “c:\LOL”,则需要对LOL_batch.bat进行改写,内容如下
===
for /f %%i in ('dir c:\LOL\*.wfn /b') do (
Multiwfn c:\LOL\%%i < LOL.txt >
move dislin.png c:\LOL\%%~ni.png
)
===
这样就可以把图片输出到“c:\LOL”里面了,此bat文件还是要放在Multiwfn文件夹里的。
这次真的DONE!
还在研究怎么把bat也放到其他文件夹里的方法,貌似需要写入multiwfn的环境变量之类的,还不会弄。
反正下面这样写是不行的,期待大神出现
===
for /f %%i in ('dir c:\LOL\*.wfn /b') do (
c:\multiwfn所在的路径\Multiwfn c:\LOL\%%i < LOL.txt >
move dislin.png c:\LOL\%%~ni.png
)
===

李博士@liyuanhe211 提供了最后一个问题的解决方案
===
cd c:\multiwfn所在的路径
for /f %%i in ('dir c:\LOL\*.wfn /b') do (
Multiwfn c:\LOL\%%i < LOL.txt >
move dislin.png c:\LOL\%%~ni.png
)
===
这样的bat文件就能和wfn一起放在另外的文件夹里了(貌似这个bat文件放在任何地方都行了。)!Problem solved!

DONE!
|
评分 Rate
-
查看全部评分 View all ratings
|