dos批处理命令小程序
Dos命令进阶(三)---批处理(上)
Dos命令进阶(三)---批处理(上)批处理脚本讲解思路一. 批处理介绍1、批处理的概述:批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。
它的构成没有固定格式,只要遵守以下这条就ok了:(1)每一行可视为一个命令,(2)每个命令里可以含多条子命令,(3)从第一行开始执行,直到最后一行结束,它运行的平台是DOS。
批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
批处理文件的扩展名是BAT或者CMD,把任何一批命令放在有该扩展名的文件里,执行的时候都会按顺序逐条的执行, 在以后学习内容中, 还可以在其中加入一些逻辑判断的语句,即让里面的命令在满足一定条件时执行指定的命令。
2、举例说明:第一步:建立批处理文件新建一个文本文档,将名字改为第一个实例.bat创建批处理文件第一个实例.bat重命名第二步:写代码右键'第一个实例.bat'文件,选中“编辑”,然后写代码。
代码如下:@echo offecho 非常感谢所有条友的关注与支持!echo 感激不已, 惟有认真, 毫无保留的分享.pause编辑批处理脚本第三步:保存后,双击“第一个实例.bat”运行。
执行批处理脚本简单了解代码意思:@echo off 这一句是关闭回显(缺省回显是打开的),如果没有这一句的话会显示一些比较碍眼的信息。
echo 非常感谢所有条友的关注与支持!echo 感激不已, 惟有认真, 毫无保留的分享.上面两条指令的结果是在屏幕上打印echo后面的内容(如上图例脚本执行的结果)pause 这个pause,英文是暂停的意思,让脚本执行完上面的命令后等用户确认退出详细解释:(1)、echo off 关闭回显(即批处理中的命令语句不会显示)(2)、echo on 打开回显编辑中去除关闭回显的指令行开启回显执行的结果在CMD中解释一下回显是咋个意思(3)、符号“@”的意思是不显示它后面的命令语句,只显示命令执行的结果!把首行命令中的小老鼠符号去掉看看(4)、echo 用于显示echo命令的作用有两个,一个时在CMD上显示一行内容,如:echo 非常感谢所有条友的关注与支持!!还有一个是显示关闭命令的回显:echo off我们在echo off命令前加一个“@”符号是为了不让echo off这条命令本身显示出来,可以让批处理达到整体的美观!如测试以下代码:@echo offecho 你好echo 你好pause第二个实例再次解释一下:pause命令就是暂停的意思,防止批处理执行完毕后直接退出,执行到pause命令时CMD就会显示“请按任意键继续”这一行!3、基础知识补充前面几篇基础知识的链接:DOS基础命令汇总(一)DOS基础命令汇总(二,三,四,五)Dos命令进阶(一)---Net, NetstatDos 命令进阶(二)---FTP命令如果大家对那个DOS命令不明白,可以通过输入“命令”/? 或执行 'help 命令名'4、具体实例分析@echo offecho 正在清除系统垃圾文件,请稍后。
WindowsDOS命令批处理脚本
WindowsDOS命令批处理脚本批处理程序简单来说,批处理程序就是 Windows ⾃带的脚本,可以在 cmd | powershell 中直接运⾏,若写成⽂件,后缀为 .bat⼩知识1. cmd 与 powershel 不区分⼤⼩写2. 命令⾏的运算操作,类似于 PHP3. DOS 是磁盘操作系统;命令提⽰符是 DOS 系统的界⾯中输⼊ DOS 命令的提⽰位置;cmd 是系统运⾏其⾃带 DOS 的命令;cmd.exe是⼀个 16 位的 DOS 应⽤程序4. PID 是 processid(进程号);IM 是 imaginename(映像名称)5. 在 .bat ⽂件开头加上@echo off代表不输出描述,⽐如C:\Users\14805\desktop>...这样的描述不会输出,直接输出结果6. 设置变量set a=10,输出变量echo %a%,设置变量表达式set /a b=%a%+1简单演⽰:: 两个冒号表⽰ cmd 的注释rem 也表⽰ cmd 的注释# ⼀个井号表⽰ powershell 的注释bat ⽂件内容:echo "Hello World!"pausecmd 运⾏指令:test.bat输出 "Hello World!"powershell 运⾏指令:.\test.bat输出 "Hello World!"覆盖与追加内容覆盖echo "hello world" > t.txt追加echo "hello world" >> t.txt查看内容type多命令运算短路ipconfig || net user从第⼀个执⾏,直到执⾏正确停⽌断路ipconfig && net user从第⼀个执⾏,直到执⾏错误停⽌net user查看所有⽤户net user查看帮助net user /?查看帮助完整版net user /help其他命令感觉有点危险,先不写了参数传递bat ⽂件内容:echo %1 %2poweshell 运⾏指令:.\test.bat Hello World!输出 Hello World!cmd 运⾏指令:年⽉⽇date输出当前⽇期: 2021-09-27date /T输出 2021-09-27时分秒time输出当前时间: 23:14:16.68time /T输出 23:14poweshell 运⾏指令:date输出 2021年9⽉27⽇ 23:14:49calltest.bat ⽂件内容:echo "Hello "call test2.battest2.bat ⽂件内容:echo "Wordl!"poweshell 运⾏指令:.\test.bat输出 Hello World!tasklist | taskill获取当前状态运⾏进程的列表tasklist获取指定要连接的远程系统的 tasklist tasklist /S 192.168.0.1 /U admin /S password其他参数:/FI ⽤于筛选 /FO 输出指定格数tasklist /FI "PID eq 3232" /FO csv > a.csvtaskkill 是关闭进程taskkill /IM notepad.exetree⽂件⽣成树tree输出C:.├───a├───b└───c换⼀种⽂件⽣成树tree /A输出C:.+---a+---b\---c详细⽂件⽣成树tree /F输出C:.├───a│ a.txt│├───b└───cshutdown打开 GUI 执⾏远程主机关机的操作shutdown /i关闭本地主机shutdown /p某个时间点执⾏某个作业at 21:56 "notepad.exe"删除某个作业at 2 /delete每天都在某个位置执⾏某个作业at 22:00 /every:M,T,W,Th,F,S,Su C:\Users\14805\desktop\payload.exe setcmd 运⾏指令:显⽰当前环境变量set输出环境变量值echo %OS%输出 Windows_NT操作⽂件夹创建⽂件夹mkdir testmd test重命名⽂件夹ren test test1将 a ⽂件夹中的⽂件复制到 b ⽂件夹copy a b删除⽂件夹rmdir testrd test删除⽂件del *.txt重命名⽂件move test.txt test1.txt移动⽂件move C:\a\test.txt C:\b\test.txt循环结构1.if () else ()2.if () else ()3. 循环⽂件夹# for /d %%名称 in (路径/*) do 具体操作.bat⽂件内容:打印当前⽂件夹下的所有⽂件夹for /d %%a in (*) do echo %%a4.循环⽂件# for /r "⽬录⽂件" %%名称 in (匹配规则,例如 *.py) do 具体操作.bat⽂件内容:打印当前⽂件夹下的所有.py⽂件for /r "C:\Users\14805\Desktop\abc" %%a in (*.py) do echo %%a5.循环数字# for /L %%a in (start,step,end) do 具体操作.bat⽂件内容:ping 168.0.0.1 ⾄ 168.0.0.20(传⼊参数 %1 等于 168.0.0)for /L %%a in (1,1,20) do ping %1.%%a6.循环⽂件中的内容# for /F %%a in (⽂件名) do 具体操作.bat⽂件内容:打印test.bat中的内容for /F %%a in (test.bat) do echo %%a 常⽤快捷键清屏cls显⽰当前⽬录dir (cmd | powershell)ls (powershell)打开当前⽂件夹start .查找⽂件dir *.txt (cmd | powershell)显⽰当前路径pwd (powershell)。
dos批处理命令详解
dos批处理命令详解dos批处理命令详解导语:要学好DOS,就要学好批处理文件。
下面就由店铺为大家介绍一下dos批处理命令详解,大家一起去看看吧!DOS下的可执行文件有三种,分别是EXE,COM和BAT。
其中,EXE和COM文件都是二进制形式的,只有BAT文件是文本形式的,可以直接阅读。
因此,BAT文件和以上二进制可执行文件相比,内容要简单的多。
这些文件内包含着DOS命令的集合,通常叫作批处理文件。
批处理文件的组成虽然比较简单,但其用处非常大,使用也比较广泛。
比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。
AUTOEXEC.BAT就是一个特殊的批处理文件,它在DOS的启动时自动运行,在系统的配置中发挥着非常大的作用。
因此,要学好DOS,就要学好批处理文件。
下面介绍批处理文件的命令及其使用。
DOS自带的批处理命令:@ :将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。
如@ECHO OFF命令就在批文件首经常用到。
CALL :从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。
用法:CALL [批文件名]注:也可以使用COMMAND /C命令完成同样的操作。
CHOICE :选择命令。
这是一个DOS外部命令,但它主要用在批文件中。
CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。
显示文本是CHOICE命令执行时的提示信息。
选择结果将用ERRORLEVEL值来表示。
ECHO :显示指定的信息。
通常显示在屏幕上。
如ECHO Hello将在屏幕上显示Hello的字样。
另外,ECHO ON|OFF用来设置在批文件执行时是否显示命令本身。
DOS(包含IF语法)批处理命令全集
DOS批处理命令全集(echo@if的用法)本来以为批处理和DOS没什么联系,并且认为批处理一下就可以学完所以就决定一周之内完成学习。
学习了之后发现,批处理是一个庞大的体系,要想完全掌握在短期内是没有办法完成的。
它和DOS命令有着不可分割的联系。
说白了,批处理就是一大片的DOS命令。
所以要想完成掌握批处理就相当于要将DOS 命令完成学会,除此之后还得学习一些语法知识。
因此,一周之内是无法完成的,不过没有完成也得写总结啊,不然不白学了么!这也是我写这篇文章的目的之一。
我将首先将我自己掌握的用通俗的语言描绘出来,力争让没有一点DOS基础的人也能按照我的文章自己学下去。
要学批处理,那我们就有必要知道什么是批处理。
一看到名字,批处理嘛,那么肯定可以对文件进行批量的处理。
批处理包括两种,一种是DOS批处理,另一种是PS(PHOTOSHOP)批处理。
我研究的是前者,后者主要是对图片进行处理的,我暂时没有这个雅兴去研究这个,大家有兴趣可以去试一下,到时候教教我也好。
前面已经说过了,批处理就是对文件进行批量处理的。
那么DOS批处理应该就是对一大批的DOS 命令一起处理的意思,这样理解的话,那么好了,我们学习它就容易多了,以后只要多去背一下DOS命令然后就可以写批处理文件了。
晕!忘了说怎么建立一个批处理文件了。
其实也很简单,可能我不说大家也知道。
就是这样建立的:打开一个记事本---在里面写上你的DOS命令---保存--命名以BAT为后缀(就是batch了,批处理的英文)。
行了,批处理文件建立成功了。
行了,现在废话少说,进入正题!开始我们的批处理语法及一些主要命令。
首先,我看到的最陌生的命令---echo。
这个命令我开始看的时候比较陌生,不太明白是干什么用的。
看完资料后自己试验了一下才明白它的具体作用。
下面我用通俗的语言还解释一下(避免用官方语言解释,免得大家都睡着了)。
ECHO在英文中就是回显的意思,就相当于C语言中的printf,例如ECHOHELLOWORLD,就相当于将HELLOWORLD打印出来。
系统助手DOS批处理小程序自动关机
@ECHO offTITLE 系统助手—QQ:371056634:startCLSrem 使用COLOR命令对控制台输出颜色进行更改MODE con: COLS=40 LINES=27rem MODE语句为设定窗体的宽和高COLOR 3Fset tm1=%time:~0,2%set tm2=%time:~3,2%set tm3=%time:~6,2%ECHO %date% %tm1%点%tm2%分%tm3%秒ECHO ========================================ECHO 请选择要进行的操作,然后按回车ECHO ————————————————————ECHO ┏━━━━━━━━━━┓ECHO ┃C——打开计算器——C┃★☆ECHO ┃0——清理小垃圾——0┃☆ECHO ┃1——设定时关机——1┃★☆ECHO ┃2——倒计时关机——2┃☆★★ECHO ┃3——删定时关机——3┃★☆ECHO ┃4——查看大任务——4┃☆☆★ECHO ┃5——刷新该时间——5┃☆★☆ECHO ┃6——锁定计算机——6┃☆☆ECHO ┃7——重启计算机——7┃★☆ECHO ┃8——注销计算机——8┃☆★☆★ECHO ┃9——退出计算机——9┃☆☆★ECHO ┗━━━━━━━━━━┛★★☆★ECHO.﹎┈┈ .o┈﹎﹎.. ○ oECHO.﹎┈﹎● ○ .﹎﹎o▂▃▅▆▅▃▂oECHO.┈┈ /█\/▓\ ﹎┈﹎﹎┈﹎o ﹎ECHO.▅▆▇█████▇▆▅▃▂┈﹎﹎﹎ECHO.mshta vbscript:createobject("sapi.spvoice").speak("welcome")(window.close):choSET Choice=SET /P Choice= 【选择】:rem 设定变量"Choice"为用户输入的字符IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%rem 如果输入大于1位,取第1位,比如输入132,则返回值为1ECHO.IF /I "%Choice%"=="C" GOTO calcIF /I "%Choice%"=="0" GOTO clearIF /I "%Choice%"=="1" GOTO SetHourIF /I "%Choice%"=="2" GOTO outtimeIF /I "%Choice%"=="3" GOTO delAtIF /I "%Choice%"=="4" GOTO viewIF /I "%Choice%"=="5" GOTO shuaxinIF /I "%Choice%"=="6" GOTO lockIF /I "%Choice%"=="7" GOTO restartIF /I "%Choice%"=="8" GOTO logoffIF /I "%Choice%"=="9" GOTO endrem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号rem 注意,IF语句需要双等于号rem 如果输入的字符不是以上数字,将返回重新输入ECHO 选择无效,请重新输入ECHO.GOTO cho:calcmshta vbscript:createobject("sapi.spvoice").speak("c")(window.close)calcGOTO start:SetHourmshta vbscript:createobject("sapi.spvoice").speak("one")(window.close)CLSECHO.SET ask=SET /p ask=是否设定为每天执行关机命令(y/n),取消请按e:IF NOT "%ask%"=="" SET ask=%ask:~0,1%IF /I "%ask%"=="y" GOTO yesIF /I "%ask%"=="n" GOTO noIF /I "%ask%"=="e" GOTO returnGOTO SetHour:yesmshta vbscript:createobject("sapi.spvoice").speak("yes")(window.close)ECHO 请指定24小时制式时间,格式为小时:分钟SET shutdowntime=SET /p shutdowntime=输入:at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul rem 设定为每周的星期一至星期日,即为每天IF NOT errorlevel 1 GOTO okrem 如果输入正确,就执行ok段的语句ECHO %shutdowntime% 不是标准的时间格式,请重新输入ECHO.GOTO yes:nomshta vbscript:createobject("sapi.spvoice").speak("no")(window.close)ECHO 请指定24小时制式时间,格式为小时:分钟SET shutdowntime=SET /p shutdowntime=输入:at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nulIF NOT errorlevel 1 GOTO okECHO %shutdowntime% 不是标准的时间格式,请重新输入ECHO.GOTO no:okmshta vbscript:createobject("sapi.spvoice").speak("ok")(window.close)ECHO.SET h=%shutdowntime:~1,1%SET ah=%shutdowntime:~0,1%SET am=%shutdowntime:~2,2%SET bh=%shutdowntime:~0,2%SET bm=%shutdowntime:~3,2%IF "%h%"==":" (SET HM=%ah%时%am%分) ELSE (SET HM=%bh%时%bm%分)rem 如果输入h:mm则HM=h时mm分,否则HM=hh时mm分IF /I "%ask%"=="y" ECHO 系统将于每天的%HM%关闭IF /I "%ask%"=="n" ECHO 系统将于%HM%关闭ECHO 设定完毕! 按任意键继续...PAUSE >nulGOTO start:returnmshta vbscript:createobject("sapi.spvoice").speak("return")(window.close) GOTO start:outtimemshta vbscript:createobject("sapi.spvoice").speak("two")(window.close) CLSECHO.ECHO 请输入倒计时秒数(返回请按:e)ECHO ————————————————————ECHO (设定后要取消,单击"确定"后按Ctrl+C键两次)SET timed=SET /p timed=输入:tsshutdn %timed% /delay:0 /powerdown >nulIF not errorlevel 1 GOTO okIF /I "%ask%"=="e" GOTO returnECHO %timed% 是无效的关机时间,请重新输入ECHO.GOTO outtime:delAtmshta vbscript:createobject("sapi.spvoice").speak("three")(window.close) clsecho.at /del /yecho 定时关机任务已取消,按任意键继续...pause >nulGOTO start:viewmshta vbscript:createobject("sapi.spvoice").speak("four")(window.close) MODE con: COLS=40 LINES=20COLOR 2FECHO.atECHO.ECHO 按任意键返回!PAUSE >nulGOTO start:shuaxinmshta vbscript:createobject("sapi.spvoice").speak("five")(window.close) goto start:lockmshta vbscript:createobject("sapi.spvoice").speak("six")(window.close) rundll32.exe user32.dll,LockWorkStationgoto start:restartmshta vbscript:createobject("sapi.spvoice").speak("seven")(window.close) shutdown -r -t 0:logoffmshta vbscript:createobject("sapi.spvoice").speak("eight")(window.close)logoff:endmshta vbscript:createobject("sapi.spvoice").speak("twice choose")(window.close) exit:clearmshta vbscript:createobject("sapi.spvoice").speak("zero")(window.close)echo ##########正在清理系统垃圾文件##########del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpdel /f /s /q %systemdrive%\*.logdel /f /s /q %systemdrive%\*.giddel /f /s /q %systemdrive%\*.chkdel /f /s /q %systemdrive%\*.olddel /f /s /q %systemdrive%\recycled\*.*del /f /s /q %windir%\*.bakdel /f /s /q %windir%\prefetch\*.*rd /s /q %windir%\temp & md %windir%\tempdel /f /q %userprofile%\cookies\*.*del /f /q %userprofile%\recent\*.*del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"del /f /s /q "%userprofile%\Local Settings\Temp\*.*"del /f /s /q "%userprofile%\recent\*.*"echo ##########系统垃圾文件清理完成##########ECHO 按任意键返回...PAUSE >nulGOTO start。
DOS批处理介绍
L
2.)如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持: FOR /D %variable IN (set) DO command [command-parameters] 3.)如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] 检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。如果在 /R 后没 有指定目录,则使用 当前目录。如果集仅为一个单点(.)字符,则枚举该目录树
L
12
第二种格式 if [not] exist [路径\]文件名 待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。 如: if exist c:\config.sys type c:\config.sys 表示如果存在c:\config.sys文件,则显示它的内容。
L
13
第三种格式 if errorlevel <数字> 待执行的命令 很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态) ,通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同 的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条 件成立,运行命令,否则运行下一句。 如if errorlevel 2 goto x2 返回值从大到小的顺序排列不是必须的, 而只是执行命令为 goto 时的习惯用法, 当 使用 set 作为执行命令时, 通常会从小到大顺序排列, 比如需将返回码置入环境变 量, 就需使用以下的顺序形式: if errorlevel 1 set el=1 if errorlevel 2 set el=2 if errorlevel 3 set el=3 if errorlevel 4 set el=4 if errorlevel 5 set el=5 ... 当然, 也可以使用以下循环来替代, 原理是一致的: for %%e in (1 2 3 4 5 6 7 8...) do if errorlevel %%e set el=%%e
dos批处理实例800例
dos批处理实例800例
摘要:
1.什么是DOS 批处理
2.DOS 批处理的应用实例
3.如何编写DOS 批处理程序
4.总结
正文:
一、什么是DOS 批处理
DOS 批处理(Batch Processing)是一种在操作系统中执行多个命令的方式。
通过将一系列命令组合成一个批处理文件,用户可以一次执行这些命令,从而提高工作效率。
在DOS 操作系统中,批处理文件具有.bat 扩展名。
二、DOS 批处理的应用实例
本文提供了800 个DOS 批处理实例,这些实例涵盖了日常生活和办公中的各种场景,如文件操作、系统维护、网络设置等。
这些实例可以帮助用户更好地理解和运用DOS 批处理,提高工作效率。
三、如何编写DOS 批处理程序
编写DOS 批处理程序分为以下几个步骤:
1.选择合适的文本编辑器,如Notepad、Visual Studio 等,新建一个文本文件。
2.将文件扩展名改为.bat,以确保文件在执行时以批处理文件的形式打开。
3.在文本文件中输入一系列DOS 命令,用以实现所需功能。
各个命令之间用回车符(Enter)分隔。
4.保存文件并运行,查看批处理程序的执行结果。
四、总结
DOS 批处理是一种便捷的操作方式,能够帮助用户一次性执行多个命令。
最全的DOS命令帮助程序批处理代码
@echo off color 0e :ks cls echo ========================== echo 欢迎使用批处理帮助程序 echo %DATE% (by:诗酒飘零) echo ========================== echo. echo 请输入你想查询的批处理命令? echo (q键退出;h键帮助) echo. set /p lc= ★命令★: if %lc%==q goto e if %lc%==h help %lc% /? >a.txt if errorlevel 1 goto no if errorlevel 0 goto yes :yes start a.txt goto ks :no echo ========================================== echo 找不到你要的批处理命令,请检查后重新输入命令! echo ========================================= del a.txt pause call %0 :e del a.txt exit
也动打开跟脚本之家发布的上面那个类似想学习批处理的朋友可以参考下
最全的 DOS命令帮助程序批处理代码
根据命令命名的txt 复制代码 代码如下:
@echo off :z @cls @set /p "d=输入要BAT指令:" @ %d% /? > %d%.txt goto z goto z
用批处理让DOS做算数运算
问题。
-----------------------------------------------
:sub
set /a shu_1=%random:~-1%
set /a shu_3=%random:~-1%
if %shu_1% leq %shu_3% (set /a shu_2=%shu_1% && set /a shu_1=%shu_3%) else set /a shu_2=%shu_3%
:add
set /a shu_1=%random:~-1%
set /a shu_2=%random:~-1%
set /a jieguo_1=%shu_1%+%shu_2%
set jieguo=
set/p jieguo=%shu_1%+%shu_2%=
if "%jieguo%"=="q" goto :exit
用批处理让DOS运算加法减法乘法除法
@echo off
:chushi
cls
set /a zque=0
set /a cwu=0
echo.
echo ---------------------加减法程序-------------------
echo 程序功能说明:
echo 1、产生两个随机数的加减法;
set /a jieguo_1=%shu_1%-%shu_2%
set jieguo=
set/p jieguo=%shu_1%-%shu_2%=
if "%jieguo%"=="%jieguo_1%" goto :right
DOS命令及批处理
常用DOS命令cd 改变当前目录sys 制作DOS系统盘copy 拷贝文件del 删除文件deltree 删除目录树 dir 列文件名diskcopy 制磁盘edit 文本编辑format 格式化磁盘 md 建立子目录mem 查看内存状况type 显示文件内容rd 删除目录ren 改变文件名cls 清屏xcopy拷贝目录和文件attrib设置文件属性subst 路径替换prompt设置提示符*************************************************** attrib设置文件属性[适用场合]想对文件做较特殊的处理时[用法]attrib 显示所有文件的属性attrib +r或-r [文件名] 设置文件属性是否为只读attrib +h或-h [文件名] 设置文件属性是否隐含attrib +s或-s [文件名] 设置文件属性是否为系统文件attrib +a或-a [文件名] 设置文件属性是否为归档文件attrib /s 设置包括子目录的文件在内的文件属性prompt 设置提示符[适用场合]当你厌烦了c:\>的提示符或者您想使您的提示符与众不同[用法]prompt $p$g 以当前目录名和>号为提示符,这是最常用的提示符prompt $t 表示时间prompt $d 表示日期prompt $$ 表示$ prompt $q 表示=prompt $v 表示当前版本prompt $l 表示<prompt $b 表示| prompt $h 表示退位符prompt $e 表示Esc代表的字符prompt $_ 表示回车换行subst 路径替换[建议]一个非常有趣的命令。
[用法]subst 显示当前的替代路径subst [盘符] [路径]将指定的路径替代盘符,该路径将作为驱动器使用subst /b 解除替代[例子]C:\DOS>subst a: c:\temp 用c盘temp目录替代a盘C:\>subst a: /d 解除替代批处理后缀是bat的文件就是批处理文件,是一种文本文件。
学习使用DOS批处理程序
ERRORLEVEL number指定前面运行的程序返回的代码大于或等于number时,IF语句为真且指定的命令被执行;
stringl==string2用于比较两个字符串的值。只有当字符串(包括诸如%1、%2…等可替换变量)相同时,条件为真(注意在进行比较时大小写字符是有区分的);EXIST filename只有当filename存在时条件为真。Filename中可以包括驱动器符、路径等;
学习使用DOS批处理程序
安波
1995-08-25
语法:PAUSE[message]
参数:message是用户输入的提示或注释信息。仅当ECHO在ON状态时,PAUSE才能在批处理程序中显示这一信息。
说明:PAUSE命令是一个简单而文极为重要的批处理命令,在需要执行几种操作的批处理程序中使用PAUSE命令尤为重要。DOS以显示“press any key to continue……”来响应PAUSE命令。
说明:CHOICE在显示指定的提示信息时,使用户能够在指定键集合中进行选择。它是DOS6.0版新增的批处理命令。
例子:以下的批处理程序是通过按A、B或C键分别选择执行Edit、Msav和Msbackup程序:
@ECHO OFF
CLS
例子:下面的批处理程序将显示一个目录中的文件名,然后结束。ECHO语句永远不会被执行,因为GOTO命令使控制转向了标号END处,所有在GOTO和END之间的命令都会被忽略。
DIR
GOTO END
ECHO why doesn't anyone listen to me?
GOTO命令运行返回到IF检查,如果%1含有文件则继续拷贝;否则,批处理程序终止执行。
批处理及DOS命令
4.Rem 命令 注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起 一个注释的作用,便于别人阅读和你自己日后修改。 Rem Message Sample:@Rem Here is the description. 5.Pause 命令 运行 Pause 命令时,将显示下面的消息: Press any key to continue . . . 例如: @echo off :begin copy a:*.* d:\back echo Please put a new disk into driver A pause goto begin 在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back 中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会 使程序挂起,以便您更换磁盘,然后按任意键继续处理。
表示根目录。 那么目录是什么结构的呢?目录是树形结构的,你看,下面是一 个目录结构的示意图,这个C:表示最上面的一层目录,叫做根目录, 其它的目录都是根目录的子目录,如DOS,WINDOWS,TOOLS等, 而DOS,WINDOWS目录自己也有子目录,象DOS下的TEMP目录, WINDOWS下的SYSTEM目录。
DOS的内部命令
DOS的内部命令 DOS的内部命令是进行操作的基础,完成了对它们的学习你就跨 进了DOS系统的大门。内部命令,是指在DOS启动之后,自动通过 文件导入内存的命令。在执行这些命令的时候,直接 从内存进行调用。
1)DIR--显示指定路径上所有文件或目录的信息 它的格式为“DIR [盘符:][路径][文件名] [参数]”,比如“DIR E:\FF.M3U”。输入后回车则会显示出相关信息(如图)。另外它还有 几个参数: /W:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大 小等信息; /P:分页显示,当屏幕无法将信息完成显示时,可使用其进行分页显 示; /A:显示具有特殊属性的文件,这里的属性有“H”隐藏、“R”只读等, 我们可以输入“DIR *.* /AH”来显示当前目录下所有具有隐藏属性的文 件; /S:显示当前目录及其子目录下所有的文件,通过这个参数,我们可 以进行某个文件或目录的查找,比如我们可以在“C:>”后输入“DIR *.DAT /S”来查找C盘中所有后缀名为DAT的文件。 几种参数可以同时使用,例如“DIR *.COM /W /P /S”。
DOS批处理 教程精选 简单易懂
从简单学起echo、@、call、pause、rem是批处理文件最常用的几个命令,我们就从他们开始学起。
echo表示显示此命令后的字符echo off表示在此语句后所有运行的命令都不显示命令行本身@与echo off 相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令)pause运行此句会暂停,显示Press any key to continue...等待用户按任意键后继续rem表示此命令后的字符为解释行,不执行,只是给自己今后查找用的批处理命令大全(一)第一部分:批处理的专用命令批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。
1、REMREM是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。
例:REM你现在看到的就是注解,这一句将不会被执行。
在以后的例子中解释的内容都REM会放在REM后面。
请大家注意。
2、ECHOECHO是一个回显命令主要参数有OFF和ON,一般用ECHOmessage来显示一个特定的消息。
例:Echo offRem以上代表关闭回显即不显示所执行的命令Echo这个就是消息。
Rem以上代表显示“这就是消息”这列字符执行结果:C:\>这个就是消息。
3、GOTOGOTO即为跳转的意思。
在批处理中允许以“:XXX”来构建一个标号然后用GOTO:标号直接来执行标号后的命令。
例:LABELREM上面就是名为LABEL的标号。
DIR C:\DIR D:\GOTO LABELREM以上程序跳转标号LABEL处继续执行。
4、CALLCALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。
例:批处理内容如下:ECHO这就是2的内容批处理内容如下:ECHO这是1的内容CALLECHO 1和2的内容全部显示完成执行结果如下:C:\>这是1的内容这就是2的内容1和2的内容全部显示完成5、PAUSEPAUSE停止系统命令的执行并显示下面的内容。
DOS批处理命令-注释
DOS批处理命令-注释注释是每个程序中不可或缺的(不是对计算机来说,⽽是对我们这些程序员阅读代码来说)语法:①rem 这是批处理的注释命令,rem后⾯的内容全部是注释例:rem 这是⼀⾏注释②:: 批处理遇到以冒号“:”开头的⾏时(忽略冒号前的空格),并且第⼆个:不是标签的合法字符(把它换成\;.等等都⾏),它不被当作⼀个合法的标签。
⾃⼰不能被执⾏,也不能被当做标签(goto语句⽆法跳转得到),也不会被执⾏,这样的⼀⾏不就跟注释⼀样么例如下⾯代码:echo onrem this is a comment.echo this is a comment.:: this is a comment too.echo this is a comment too.运⾏结果:F:\tmp>echo onF:\tmp>rem this is a comment.F:\tmp>echo this is a comment.this is a comment.F:\tmp>echo this is a comment too.this is a comment too.从【rem this is a comment.】这⼀句可以看出,rem这是⼀个命令,但是不做任何处理。
⽽语句【:: this is a comment too.】没有回显到屏幕上,说明这个不是⼀个语句,当然也不是⼀个有效的标签,这⾥我们就当做是注释。
::这个后⾯真的不是标签么?我们接下来做⼀个验证echo ongoto commentecho aecho becho cecho d::commentecho the last运⾏结果是:F:\tmp>goto comment指定されたバッチラベルが⾒つかりません - comment【制定的batch标签未找到 - comment】所以,::comment不是⼀个有效的标签,也不是⼀个有效的语句。
DOS内部命令和批处理命令列表
DOS内部命令和批处理命令列表命令:CALL功能:在批处理文件中调用批处理文件.CALL [驱动器:][路径]文件名 [批命令参数]批命令参数 指定批处理文件所需的命令行参数.命令:CD/CHDIR功能:显示或改变当前目录.CHDIR [驱动器:][路径]CHDIR[..]CD [驱动器:][路径]CD[..].. 表示当前目录改变成父目录.键入 CD [驱动器:], 可显示指定驱动器的当前目录.键入不带参数的 CD 可显示当前驱动器和当前目录.命令:CLS功能:清除屏幕。
CLS命令:COPY功能:文件拷贝.COPY [/A | /B] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination[/A | /B]] [/V] [/Y | /‐Y]source 指定被拷贝的文件./A 表示 ASCII 正文文件./B 表示二进制文件.destination 指定新文件的目录和文件名./V 校验新文件是否正确./Y 在重写原有的目标文件之前, 不让你确认./‐Y 在重写原有的目标文件之前, 让你确认.开关项 /Y 可由环境变量 COPYCMD 预设.‐Y 可以更改预设值.要合并多个文件时, 可指定单个目标文件, 但指定多个源文件(使用通配符或 文件1+文件2+文件3 格式).命令:DATE功能:显示或设置日期。
DATE [日期]显示当前日期设置和输入新日期的提示,请键入不带参数的 DATE。
要保留现有日期,请按 ENTER。
命令:DEL/ERASE功能:删除文件.DEL [驱动器:][路径]文件名 [/P]ERASE [驱动器:][路径]文件名 [/P][驱动器:][路径]文件名 指定被删除的文件, 用通配符指定多个文件./P 删除每个文件之前显示确认信息.命令:DIR功能:显示目录中的文件和子目录列表。
DIR [驱动器:][路径][文件名] [/P] [/W] [/A[[:]属性]][/O[[:]排序方式]] [/S] [/B] [/L] [/V] [/4][驱动器:][路径][文件名]指定列出的驱动器, 目录或文件。
Dos命令:批处理
Dos命令:批处理批处理⼀、call命令1、介绍从批处理程序调⽤另⼀个批处理程序。
2、语法CALL [drive:][path]filename [batch-parameters]batch-parameters 指定批处理程序所需的命令⾏信息。
如果命令扩展被启⽤,CALL 会如下改变:CALL 命令现在将卷标当作 CALL 的⽬标接受。
语法是:CALL:label arguments⼀个新的批⽂件上下⽂由指定的参数所创建,控制在卷标被指定后传递到语句。
你必须通过达到批脚本⽂件末两次来 "exit" 两次。
第⼀次读到⽂件末时,控制会回到 CALL 语句的紧后⾯。
第⼆次会退出批脚本。
键⼊ GOTO /?,参看另外,批脚本⽂本参数参照(%0、%1、等等)已如下改变:批脚本⾥的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)批参数(%n)的替代已被增强。
你可以使⽤以下语法:%~1 - 删除引号("),扩展 %1%~f1 - 将 %1 扩展到⼀个完全合格的路径名%~d1 - 仅将 %1 扩展到⼀个驱动器号%~p1 - 仅将 %1 扩展到⼀个路径%~n1 - 仅将 %1 扩展到⼀个⽂件名%~x1 - 仅将 %1 扩展到⼀个⽂件扩展名%~s1 - 扩展的路径只含有短名%~a1 - 将 %1 扩展到⽂件属性%~t1 - 将 %1 扩展到⽂件的⽇期/时间%~z1 - 将 %1 扩展到⽂件的⼤⼩%~$PATH:1 - 查找列在 PATH 环境变量的⽬录,并将 %1扩展到找到的第⼀个完全合格的名称。
如果环境变量名未被定义,或者没有找到⽂件,此修改符会扩展到空字符串可以组合修改符来取得多重结果:%~dp1 - 只将 %1 扩展到驱动器号和路径%~nx1 - 只将 %1 扩展到⽂件名和扩展名%~dp$PATH:1 - 在列在 PATH 环境变量中的⽬录⾥查找 %1,并扩展到找到的第⼀个⽂件的驱动器号和路径。
利用DOS命令对文件进行批处理
以上只是举了几个例子,DOS的批处理功能相当强大,认真学习,可以使我们的工作取得事半功倍的效果。
将文件存为ren.bat,放于这个文件夹下,双击,很快就完成了。
2、批量添加内同内容
如:文件夹下有1000个TXT文件,我想在每个文件中都加入一句广告:“”
操作方法如下:
新建一TXT文件,输入需加入的内容:“”(不带引号)
保存为aa.txt
再新建一TXT文件,输入以下内容:
@echo off&setlocal enabledelayedexpansion
for %%a in (*.txt) do (
copy "%%a"+aa.txt "%%a"
)
保存为copy.bat,存放于同一文件夹下,双击执行即可实现所有文件的文件尾都加入了这一名话。文件头添加方法类似
DOS 深度操作
几个文件批处理操作
在实际操作中,经常要对一些相似的文件,特别是TXT文件进行批量处理,如批量改名,批量添加内容,批量删除内容。下面简要介绍一些常用的批处理。
1、批量改名
实现功能:对文件夹内所有相似的文件进行改名
如:有一些文件,文件名为“济南000.txt”至“济南999.txt”,我们想将这些文件修改为“jn000.txt”到“jn999.txt”
方法如下:
新建一文本文档
输入以下内容
@echo off&setlocal enabledelayedexpansion
for %%a in (*.txt) do (
set "temp=%%a"
set temp=!temp:济南=jn!
C#执行DOS命令和批处理
C#执⾏DOS命令和批处理在项⽬开发中,有时候要处理⼀些⽂件,⽐如视频格式的转换,如果⽤C开发⼀套算法,再⽤C#调⽤,未免得不偿失!有时候调⽤现有的程序反⽽更加⽅便。
今天就来说⼀下C#中如何调⽤外部程序,执⾏⼀些特殊任务。
这⾥演⽰调⽤cmd.exe,即我们常⽤的DOS。
下⾯来看代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;namespace WinShell{class Program{static void Main(string[] args){Console.WriteLine(Execute("ver",10));Console.Read();}///<summary>///执⾏DOS命令,返回DOS命令的输出///</summary>///<param name="dosCommand">dos命令</param>///<param name="milliseconds">等待命令执⾏的时间(单位:毫秒),///如果设定为0,则⽆限等待</param>///<returns>返回DOS命令的输出</returns>public static string Execute(string command, int seconds){string output = ""; //输出字符串if (command != null && !command.Equals("")){Process process = new Process();//创建进程对象ProcessStartInfo startInfo = new ProcessStartInfo();startInfo.FileName = "cmd.exe";//设定需要执⾏的命令startInfo.Arguments = "/C " + command;//“/C”表⽰执⾏完命令后马上退出eShellExecute = false;//不使⽤系统外壳程序启动startInfo.RedirectStandardInput = false;//不重定向输⼊startInfo.RedirectStandardOutput = true; //重定向输出startInfo.CreateNoWindow = true;//不创建窗⼝process.StartInfo = startInfo;try{if (process.Start())//开始进程{if (seconds == 0){process.WaitForExit();//这⾥⽆限等待进程结束}else{process.WaitForExit(seconds); //等待进程结束,等待时间为指定的毫秒}output = process.StandardOutput.ReadToEnd();//读取进程的输出}}catch(Exception ex){Console.WriteLine(ex.Message);//捕获异常,输出异常信息}finally{if (process != null)process.Close();}}return output;}}}这⾥调⽤DOS,执⾏查看版本的命令,然后获取执⾏结果,输出如下:直接输出结果,⼀点也不拖泥带⽔,是不是感觉很好!下⾯来说下,如何执⾏批处理程序,即bat结尾的⽂件,代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;namespace WinShell{class Program{static void Main(string[] args){Process pro = new Process();pro.StartInfo.FileName = @"d:\1.bat";eShellExecute = false;pro.StartInfo.RedirectStandardInput = false;pro.StartInfo.RedirectStandardOutput = true;pro.Start();string result = pro.StandardOutput.ReadToEnd();Console.WriteLine(result);}}}这个更加简单,直接把FileName的属性设置为批处理⽂件,将有Windows调⽤DOS执⾏,并且返回结果。
DOS中常用的批程序命令及使用技巧
DOS中常用的批程序命令及使用技巧
傅昌威
【期刊名称】《电脑编程技巧与维护》
【年(卷),期】1996(000)011
【摘要】批程序(BATCH)也称批处理命令文件。
它是DOS命令集,以BAT为扩展名,是除了COM、EXE文件外,能直接在DOS下运行的一种命令文件,使用它可以
简化许多重复操作,日常中的用得十分频繁。
因而,正确、合理、最优地使用它,可以带来许多方便,同时DOS系统也对批程序提供了许多专用命令,一般的DOS手册对这些命令是分开描述或只是略提,笔者希望通过如下总结,对DOS初学者有所帮助。
【总页数】2页(P7-8)
【作者】傅昌威
【作者单位】浙江丝绸工学院
【正文语种】中文
【中图分类】TP316
【相关文献】
1.DOS的BACKUP/RESTORE命令使用技巧 [J], 刘瑞华;殷瑞冬
2.DOS目录搜寻命令使用技巧和实例 [J], 黄焕如
3.常用DOS命令在农村土地承包经营权调查电子文件归档中的应用 [J], 蒋恒;李磊;谢根蓉;肖艳;李志雄
4.DOS中易混淆的几组常用命令 [J], 姚卉
5.DOS中易混淆的几组常用命令 [J], 姚卉
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.简单批处理内部命令简介先来看一个垃圾清理批处理文件吧@echo offecho 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpdel /f /s /q %systemdrive%\*.logdel /f /s /q %systemdrive%\*.giddel /f /s /q %systemdrive%\*.chkdel /f /s /q %systemdrive%\*.olddel /f /s /q %systemdrive%\recycled\*.* del /f /s /q %windir%\*.bakdel /f /s /q %windir%\prefetch\*.*rd /s /q %windir%\temp & md %windir%\tempdel /f /q %userprofile%\recent\*.*del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"del /f /s /q "%userprofile%\Local Settings\Temp\*.*"del /f /s /q "%userprofile%\recent\*.*" echo 清除系统垃圾完成~echo. & pause将上面的内容保存为*.bat就可以运行了,清理系统垃圾下面是详细讲解1.Echo 命令打开回显或关闭请求回显功能,或显示消息。
如果没有任何参数,echo 命令将显示当前回显设置。
语法echo [{on|off}] [message]Sample:@echo off / echo hello world在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@ 命令表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off@echo Now initializing the program,please wait a minite...@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。
)3.Goto 命令指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。
)Sample:if {%1}=={} goto noparmsif {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。
)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。
最好有一些说明这样你别人看起来才会理解你的意图啊。
4.Rem 命令注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
Rem MessageSample:@Rem Here is the description.5.Pause 命令运行Pause 命令时,将显示下面的消息:Press any key to continue . . .Sample:@echo off:begincopy a:*.* d:\backecho Please put a new disk into driver A pausegoto begin在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。
显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。
6.Call 命令从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。
call 命令接受用作调用目标的标签。
如果在脚本或批处理文件外使用Call,它将不会在命令行起作用。
语法call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]] 参数[Drive:}[Path] FileName指定要调用的批处理程序的位置和名称。
filename 参数必须具有.bat 或.cmd 扩展名。
7.start 命令调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
入侵常用参数:MIN 开始时窗口最小化SEPARATE 在分开的空间内开始16 位Windows 程序HIGH 在HIGH 优先级类别开始应用程序REALTIME 在REALTIME 优先级类别开始应用程序WAIT 启动应用程序并等候它结束parameters 这些为传送到命令/程序的参数执行的应用程序是32-位GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。
如果在命令脚本内执行,该新行为则不会发生。
8.choice 命令choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。
使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。
它的返回码为1234……如: choice /c:dme defrag,mem,end将显示defrag,mem,end[D,M,E]?Sample:Sample.bat的内容如下:@echo offchoice /c:dme defrag,mem,endif errorlevel 3 goto defrag (应先判断数值最高的错误码)if errorlevel 2 goto memif errotlevel 1 goto end:defragc:\dos\defraggoto end:memmemgoto end:endecho good bye此文件运行后,将显示defrag,mem,end[D,M,E]? 用户可选择 d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e 表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
9.If 命令if 表示将判断是否符合规定的条件,从而决定执行不同的命令。
有三种格式:1、if "参数" == "字符串" 待执行的命令参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。
(注意是两个等号)如if "%1"=="a" format a:if {%1}=={} goto noparmsif {%2}=={} goto noparms2、if exist 文件名待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys3、if errorlevel / if not errorlevel 数字待执行的命令如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
10.for 命令for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用FOR 命令时,指定变量请使用%%variablefor{%variable|%%variable} in (set) do command [ CommandLineOptions]%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。
可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用FOR 命令时,指定变量请使用%%variable而不要用%variable。
变量名称是区分大小写的,所以%i 不同于%I如果命令扩展名被启用,下列额外的FOR 命令格式会受到支持:FOR /D %variable IN (set) DO command [command-parameters]如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-检查以[drive:]path 为根的目录树,指向每个目录中的FOR 语句。
如果在/R 后没有指定目录,则使用当前目录。
如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-para该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1)。
FOR /F ["options"] %variable IN (file-set) DO commandFOR /F ["options"] %variable IN ("string") DO commandFOR /F ["options"] %variable IN ('command') DO command或者,如果有usebackq选项:FOR /F ["options"] %variable IN (file-set) DO commandFOR /F ["options"] %variable IN ("string") DO commandFOR /F ["options"] %variable IN ('command') DO commandfilenameset 为一个或多个文件名。