本文共 5228 字,大约阅读时间需要 17 分钟。
因为有一批任务等待计算,晚上的时间又不想浪费,故想办法用批处理的办法来运行MS任务,今天终于弄明白了,跟大家分享一下,这样晚上的时间PC也不会闲着了
首先做好输入文件,想必大家都会,就是不点Run,点Files,save files。我用的是DMol,所以必须的输入文件是.car和.input文件,save files时都会有的。编写批处理文件(可先用文本文档写,另存为.bat文件),该文件位置不限。例如,要计算1、2两个任务,编写批处理文件如下:
@echo on
cd D:\"Untitled Files"\Documents\"1 DMol3 Energy"
call C:\"Program Files"\Accelrys\"MS Modeling 4.0"\DMol3\bin\RunDMol3 -np 2 1
cd D:\"Untitled Files"\Documents\"2 DMol3 Energy"
call C:\"Program Files"\Accelrys\"MS Modeling 4.0"\DMol3\bin\RunDMol3 -np 2 2
...
...
pause
说明:
第一句,@echo on ,目的是显示执行后面的命令,可用@echo off关闭,无所谓。
第二句,cd D:\"Untitled Files"\Documents\"1 DMol3 Energy",进入到1这个任务输入文件所在的目录,注意文件夹带空格的要整体用""引起来,具体位置当然看个人而定。
第三句,call C:\"Program Files"\Accelrys\"MS Modeling 4.0"\DMol3\bin\RunDMol3 -np 2 1,相信在Linux下用terminal计算过的都知道吧,调用RunDMol3程序用2个核跑任务1,后面的类推。这里要注意的是,这个目录是MS默认的安装路径,如果不是默认安装要做相应改正,这个大家找找看就是了。另外不同与Linux下的是,Linux下用的是RunDMol3.sh进行计算,在Win下,虽然有RunDMol3.bat,dmol3_mpi.exe和dmol3.exe,但是在批处理调用的时候不要带上扩展名,直接用RunDMol3即可。
最后一句,pause,直接执行计算完后窗口会直接关闭,用pause语句,计算完后出现“按任意键继续...”,可以使窗口保持打开状态,当然此时任务也都已经算完了,窗口打开与否对任务没有影响、
OK,找到这个批处理文件,双击执行。
好了,我还没有用其他模块试过,但因为在Linux下各模块交任务的类似性,所以我的这个方法应该也同样适用于其他模块。
echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令)
pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续
rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的
例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入a.txt中,启动UCDOS,进入WPS等功能。
批处理文件的内容为: 文件表示:
echo off 不显示命令行
dir c:\*.* >a.txt 将c盘文件列表写入a.txt
call c:\ucdos\ucdos.bat 调用ucdos
echo 你好 显示"你好"
pause 暂停,等待按键继续
rem 使用wps 注释将使用wps
cd ucdos 进入ucdos目录
wps 使用wps
批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。
%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
例如,C:根目录下一批处理文件名为f.bat,内容为 format %1
则如果执行C:\>f a: 则实际执行的是format a:
又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2
那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容
if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if "参数" == "字符串" 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
2、if exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys
3、if errorlevel 数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2 DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码
goto 批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如:
goto end
:end
echo this is the end
标号用 :字符串 表示,标号所在行不被执行
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?
例如,test.bat的内容如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end
:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye
此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
for 循环命令,只要条件符合,它将多次执行同一命令。
格式FOR [%%f] in (集合) DO [命令]
只要参数f在指定的集合内,则条件成立,执行命令
如果一条批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
含义是如果是以bat或txt结尾的文件,则显示文件的内容。
autoexec.bat
DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如: path(设置路径)、smartdrv(磁盘加速)、 mouse(鼠标启动)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置环境变量)等。
如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。
例如,一个典型的autoexec.bat内容如下:
@echo off 不显示命令行
prompt p g 设置提示符前有目录提示
path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools 设置路径
lh c:\dos\doskey.com 加载键盘管理
lh c:\mouse\mouse.com 加载鼠标管理
lh c:\dos\smartdrv.exe 加载磁盘加速管理
lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V 加载CD-ROM驱动
set temp=c:\temp 设置临时目录
用DOS,可别不知道DOS在哪里运行,有好几种方法
1.开始菜单---程序---附件---命令提示符
2.开始菜单---运行---打命令CMD
一、常用DOS命令
(1)cd.. cd.. 退到次一级目录
cd\ cd\ 退到根目录下的意思
cd 文件夹名字 cd windows 进入WINDOWS目录
(2)md 文件夹名字 md win 建立名为win的文件夹
(3)rd 文件夹名字 rd win 删除名为win的文件夹
(前提是win里没有任何文件)
(4)copy 路径下文件 目标路径 copy C:\1\mima.txt C:\2\ 拷贝文件
(5)del 目标路径下文件 del C:\1\3\TCP.txt 删除文件
del c:\1 删除c盘1目录所有文件 看见没mima.txt被删除了 但是3这个文件夹还没删除
只是文件不会删除ghost里
其他文件夹里的东西。
(6)dir 文件夹名字或盘符 dir c:\windows 查看C盘windows里目录文件
----------------------------------------------------------------------------
│dir/W:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息;│
│dir/S:显示当前目录及其子目录下所有的文件, │
│dir/a 查看所有文件包括隐藏文件 dir c:\windows /a │
│dir/p 分页查看 这里的很实用的,大家一定要自己试试 │
-----------------------------------------------------------------------------
(为了节省大家的时间,方框里面的我就不介绍了,大家自己试试)
(7)format 盘符 格式化硬盘 (这个我就不演示了.你问我为什么,汉.........我心疼我的硬盘^_^)
(8)ren 文件名 文件名 改名 ren 1.bat 2.bat 将1.bat改名为2.bat 这几个文件我还没创建,现在我们创建一下,好了
(9)type 文件名 查看文件内容(一般用来看bat或txt文件)
(10)cls 清屏(没多大用)
二、常用网络DOS命令
(11)fport 查看系统端口和端口上运行的程序 这个命令我也不知道怎么了,等我查一下用法,发到论坛上,不好意思,
(12)netstat -an 查看所有连接本机IP
(13)ipconfig /all 查看所有连接本机IP
(14)telnet IP 端口 连接对方机器某个端口
(15)net user 查看本机用户
net user 用户名 密码 /add 建立一个用户
net user 用户名 /del 删除一个用户
(16)net localgroup administrators 用户名 /add 把用户添加到管理员
net localgroup administrators 用户名 /del 把用户从管理员组删除
这个就不用演示了,和上面 的一样
三、批处理文件
批处理。就是批量处理多条命令的文件。
后缀为bat
内容可以自己编辑多条dos命令。他会按照顺序自动运行。
(17)怎样在对方机器DOS窗口下建立批处理文件?
copy con 文件名.bat
C:\>cd 2
C:\2>dir 这就是我刚才打的命令
(省略号代表命令)
CTRL+Z 存盘退出
这样一个bat文件也就做好了。我们执行一下
四、其它命令
(18)mem--查看你的计算机内存有多少,以及内存的使用情况
(19)time--显示和设置DOS的系统时间 Enter the new time: 意思是设置时间,我们按回车就可以跳过去了
(20)date--显示和设置DOS的系统日期 用法和time命令一样
(21)ver--显示正在运行的DOS系统版本号
转载地址:http://cpuli.baihongyu.com/