如何编写批处理文件
批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务。用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。编写批处理文件非常简单,但难点在于确保一切按顺序执行。编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工作时尤其有效。
步骤
注意:Linux 系统下的解决方案为 shell 脚本,而非批处理文件。想要了解如何在 Linux 系统下编写 shell 脚本,请参阅这份指南。
打开记事本程序。记事本程序可用来以文本文件格式编写代码,并将写好的代码以批处理文件格式保存。单击「开始」→「应用程序」→「记事本」,或在运行对话框中输入 notepad 打开程序。
学习一些基本的批处理命令。批处理文件需要运行一系列 DOS 命令,因此批处理文件的命令与 DOS 命令较为相似。以下是一些较为重要的命令:ECHO - 隐藏通常显示的文字@ECHO OFF - 用默认程序打开一个文件START - 用默认程序打开一个文件REM - 在程序中插入一个注释行MKDIR/RMDIR - 创建/删除目录DEL - 删除一个或多个文件COPY - 复制一个或多个文件XCOPY -为复制文件添加更多选项FOR/IN/DO - 对文件进行说明TITLE - 编辑窗口标题
编写程序以创建目录。学习创建批处理文件的一个简单方法,便是首先专注于完成一项基本任务。例如,可以利用批处理文件快速创建多个目录:MKDIRc:\example1MKDIRc:\example2
保存文件。输入代码后,便可将文件以批处理文件类型保存。点击「文件」→「另存为」。在下拉菜单中点击「保存类型」。选择「全部文件」。为程序输入一个名字,以 .bat 或 .cmd 格式结尾。确保编码类型为 ANSI,然后保存文件。
编写基础备份程序。批处理文件非常适合运行多个命令,若配置其运行多次则效果更佳。通过 XCOPY 命令,用户可以创建一个批处理文件,从选定文件夹中复制文件至备份文件夹,且仅会覆盖最近一次复制时更新的文件。@ECHOOFF XCOPY c:\original c:\backupfolder /m /e /y这将把original文件夹中的文件复制到backupfolder文件夹中。用户也可将其替换为任意路径。代表仅复制更新过的文件,代表列出目录中的所有子目录都会被拷贝,代表每次文件被覆盖,屏幕上都将出现确认信息。
保存文件。输入代码后,便可将文件以批处理文件类型保存。点击「文件」→「另存为」。在下拉菜单中点击「保存类型」。选择「全部文件」。为程序输入一个名字,以或格式结尾。
编写高级备份程序。把文件从一个文件夹复制到另一个当中固然不错,但如果要同时将文件分门别类,便需要 FOR/IN/DO 命令。这个命令可以用来通过扩展判断文件去向。@ECHOOFFcdc:\sourceREM 这是你想要排序的文件目录FOR%%fIN(*.doc *.txt)DOXCOPY c:\source\"%%f" c:\text /m /yREM 这行命令会把所有的.doc文件从c:\source移动到c:\textREM %%f 是一个变量FOR%%fIN(*.jpg *.png *.bmp)DOXCOPY C:\source\"%%f" c:\images /m /yREM 这行代码会把所有的.jpg .png .bmp图片文件从c:\source移动到c:\images
保存文件。输入代码后,便可将文件以批处理文件类型保存。点击「文件」→「另存为」。在下拉菜单中点击「保存类型」。选择「全部文件」。为程序输入一个名字,以或格式结尾
批处理文件样本
批处理文件样本
特别提示
如果你的文件路径里包含空格,记得使用引号,例如"C:\Documents and Settings\"
在Windows 2000或之后的系统中,批处理文件也可能是.cmd格式的。它们在执行的时候并无不同,只不过.cmd文件采用32数位执行,而.bat文件采用16数位。
你可以试着用一些第三方编辑器来编辑批处理文件,例如UltraEdit。不过对简单的文件来说,自己直接写反而更省时间。
有的程序命令会对系统造成危险,所以你写程序的时候一定要知道自己在做什么(比如编写用来删除文件的批处理代码)。