|
|
最近需要频繁的利用Multiwfn将restart文件转为cif文件,搜索论坛后发现仅有linux系统下进行转化的工具,如下链接。
Linux系统下将cp2k输出的restart转化为cif文件
http://bbs.keinsci.com/forum.php ... 39588&fromuid=67231
个人计算化学功底比较差,不太习惯使用linux系统,因此利用AI编写了一份windows下的转化工具(rest2cif.bat),需要转化为其他格式则需要自行修改相应代码。
使用方法:将.restart文件放置在rest2cif.bat所在文件夹,双击rest2cif.bat即可自动将其批量转换为cif文件。
- @echo off
- setlocal enabledelayedexpansion
- :: ==========================================
- :: 自动获取管理员权限代码块
- :: ==========================================
- :check_Permissions
- echo Administrative permissions checking...
- net session >nul 2>&1
- if %errorLevel% == 0 (
- echo Success: Administrative permissions confirmed.
- ) else (
- echo Failure: Current permissions inadequate.
- echo Requesting administrative privileges...
- goto :UACPrompt
- )
- goto :start_script
- :UACPrompt
- echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
- echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %*", "", "runas", 1 >> "%temp%\getadmin.vbs"
- "%temp%\getadmin.vbs"
- del "%temp%\getadmin.vbs"
- exit /b
- :start_script
- cd /d "%~dp0"
- :: 设置 Multiwfn 绝对路径,不要有中文符号
- set "MWpath="E:\Multiwfn_3.8_dev\Multiwfn.exe""
- :: 创建指令流
- (
- echo.
- echo 100
- echo 2
- echo 33
- :: 此处可做修改,33为.cif,1为.pdb,2为.xyz,5为.wfn,32为.mwfn
- echo.
- echo q
- echo q
- ) > cmd.txt
- echo ---------------------------------------
- echo Starting Batch Conversion...
- echo ---------------------------------------
- for /f "delims=" %%f in ('dir /b *.restart 2^>nul') do (
- echo Processing: "%%f"
- !MWpath! "%%f" < cmd.txt >nul 2>nul
-
- if exist "%%~nf.cif" (
- echo [OK] Success: "%%~nf.cif"
- ) else (
- echo [FAILED] "%%f"
- )
- )
- if exist cmd.txt del cmd.txt
- echo ---------------------------------------
- echo Done.
- pause
复制代码
|
|