TypeCodes

批处理文件(.bat)的写法——DOS命令大全

最近看了下cmd命令,发觉有些用起来挺方便的。于是决定把这些DOS命令整理出来,方便以后写.bat批处理文件。

1 先来看看.cmd,.bat是什么:
.bat是dos下的批处理文件
.cmd是nt内核命令行环境的另一种批处理文件

因此,二者是没有本质区别。从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。

所以从某个程度分析,batch,unixshell,awk,basic,perl等脚本语言都是一样的,只不过应用的范围和解释的平台各有不同而已。甚至有些应用程序仍然沿用批处理这一称呼,而其内容和扩展名与dos的批处理却又完全不同

接下来就是vfhky整理的DOS命令了。第一部分比较常用,第二部分用的不多。有了这些基本的DOS命令,那么写简单的.bat批处理文件也就不难了(实例见下篇文章用.bat批处理文件实现内外网多IP切换)。

2 第一部分:常用的DOS命令
@,屏幕不显示当前行的DOS命令

echo off屏幕不显示bat文件中所有的命令行

dir d:\*.* >filelist.txt将d盘文件列表写入filelist.txt中

cls清除显示器屏幕上的内容使DOS提示符到屏幕左上角

color设置控制台前景和背景颜色具体可以在cmd下用color /?查询

title设置控制台窗口的标题默认为cmd

cd英文change directory的缩写切换目录)。例如cd d:\sybase进入sybase目录

md英文make directory的缩写创建目录例如md c:\123

rd英文remove directory的缩写删除目录)。例如rd c:\123

del英文delete的缩写删除)。用于删除指定磁盘目录中的一个或一组文件例如del D:\gvim.exe

ren英文rename的缩写重新命名)。用于对指定磁盘目录中的一个文件或一组文件更改名称[格式] ren [C:][path]filename1[.ext] filename2[.ext]

time显示和设置DOS的系统时间[格式] time [hh[:mm[:ss[.cc]]]

date显示和设置DOS的系统日期[格式] date [MM-DD-YY]

%表示参数在运行批处理文件时在文件名后加的字符串例如%1%2);

%var%变量var

.它与echo连用构成echo.”,作用是换行

call用于从一个批处理程序调用另一个批处理程序而不终止父批处理程序例如call d:\b.bat

:goto label跳转到:label标签处

rem注释命令相当于::命令

pause暂停命令运行时将显示下面的文字 
Press any key to continue. . .(或者请按任意键继续. . .)
pause > nul的作用是同样的区别是不显示请按任意键继续. . .

set显示设置或删除变量有三种基本格式set /a 表达式SET [variable=[string]]set /p variable=[promptString]=号右边的promptString是提示语,不是变量的值)。

type文本输出命令
3 第二部分:相对用的少的DOS命令
start调用外部程序例如start "" "d:\gvim.exe"

format磁盘格式化命令[格式] [C:][path]format drive:[/S]

discopy磁盘复制即复制出一个和原来磁盘内容一模一样的磁盘[格式] diskcopy 源驱动器名 目的驱动器名

deltree 删除目录树将整个指定目录树全部消灭而不管它是否是只读隐藏与否。)。[格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] []]

mem英文memory的缩写用来查看计算机内存大小以及内存的使用情况[格式] 直接键入mem命令

chkdsk英文check disk的缩写用来检查你的磁盘的使用情况[格式] chkdsk 磁盘名

find搜索命令用于在文件中搜索特定字符串例如
type a.txt | find "黄克业的博客" && echo "麻辣的视界" 
该命令会在a.txt中搜索黄克业的博客”,如果存在该内容就会输出麻辣的视界”。

>>>
二者都是输出重定向命令即把前面命令的流文字重定向写入到一个文件中二者的唯一区别是>命令在清除掉原有文件中的内容后才把新的内容写入原文件>>命令会另起一行把新的内容追加到原文件中

<>&<& 三个管道命令不常用
<输入重定向命令即从文件中读入命令输入而不是从键盘中读入  
>&将一个句柄的输出写入到另一个句柄的输入中
<&刚好和>&相反从一个句柄读取输入并将其写入到另一个句柄输出中

&组合连接命令即它可以连接n个DOS命令然后按顺序执行并且会忽略执行失败的命令

&& 组合连接命令它可以把它前后两个命令组合起来当一个命令来用但是和&命令不同的是&&会检测是否有执行出错的命令一旦发现出错后将不继续执行剩下的命令

|作用是让前一命令的输出当做后一命令的输入

|| 用法和&&几乎一样但作用恰恰相反当遇到一个执行正确的命令时就退出此命令组合不再继续执行下面的命令

at列出在指定的时间和日期在计算机上运行的已计划命令或计划命令和程序例如at 12:00 d:\abc.bat”。
打赏支持

Comments »