dos批处理命令详解

合集下载

DOS命令批量删除文件及制作该命令的批处理命令详解

DOS命令批量删除文件及制作该命令的批处理命令详解

DOS命令批量删除⽂件及制作该命令的批处理命令详解点击“开始”→“运⾏”,输⼊:“CMD”后回车。

然后在“命令提⽰符”窗⼝下输⼊:
del F:\_desktop.ini /f /s /q /a (F代表你要操作的盘符,如果是C盘就把F改成C)
强制删除F盘下所有⽬录内(包括X盘本⾝)的_desktop.ini⽂件并且不提⽰是否删除。

/f 表⽰强制删除⽂件
/s表⽰⼦⽬录都要删除该⽂件
/q表⽰⽆声,不提⽰
/a根据属性选择要删除的⽂件
R 只读⽂件 S 系统⽂件
H 隐藏⽂件 A 存档⽂件
- 表⽰“否”的前缀
例:
删除F盘下及其⼦⽬录下的所有指定⽂件
del F:/*.pdb /f /s /q /a (删除F盘下的所有后缀名为pdb的⽂件)
批处理制作:
新建⼀以bat后缀的⽂件,输⼊以上命令,然后保存即可。

DOS批处理命令大全

DOS批处理命令大全

DOS批处理命令大全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语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。

dos批处理命令详解

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批处理文件的DOS常用命令

dos批处理文件的DOS常用命令
echo 2.MSD ├─显示这些字符
echo 3.Anti-Virus │
echo. ┘
choice/c:123/t:1,10 将出现要您选择1或者2或者3的提示字符,如果等10秒后,用户尚未键入1或2或3中任一字符,则自动键入1。
if errorlevel 1 goto defragmant 当用户在上述键入1时,将寻找:defragment段来执行defrag程序。
批处理文件命令
一、什么叫做批处理文件?
批处理文件(文件名为*.BAT)就是将一些常用的命令写入一个文本文件内。当我们要使用这个文件时,只要键入批处理文件的文件名,批处理文件就会依照文件中的命令来执行全部或者是一部分指定要执行命令。如此我们便可简化我们的工作,而不用每一次都需要手动键入很多的命令来执行一些动作。
A:\>test a:prog1 b:prog2
于是系统将以test代表%0,以a:\prog1代表%1,以b:\prog2代表%2因此在执行此命令时,就相当于直接在键盘上依次输入下述DOS命令一样:
copy a:\prog1.mac b:\prog2.mac
type b:\prog2.prn
3.说明: ①、批处理文件的扩展名应为.BAT。
②、当执行批处理文件时,您可将参数(parameters)传给一名称为file-name.bat的文件,给予不同的参数,将可以执行类似的工作。
③、如果要停止批处理文件的动作,只要按下ctrl+break二键,即可停止正在执行的命令,并且出现下述信息:
nn--指定暂停的秒数。可接受0到99之间。如果指定0,则在默认之前将不会有暂停。
⑤、[test]参数:您想在提示符前显示的字符。假如您包含斜线(\)做为提示前字符的一部分时,则必须加引号。如果您并无提示字符,则CHOICE将仅显示提示符。您所分派的第一个键将为1,第二个键将为2……余此类推。如果用户按下了一个未分派到的键,则CHOICE将发出一警告声响。如果CHOICE检测到一个错误的情况,那么它将返回一ERRORLEVEL值为255的值;如果使用者按下了Crtl+Break二键或Ctrl+c二键,则CHOICE将返回一ERRORLEVEL值为0的值。

Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭窗口

Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭窗口

Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭窗口Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法:很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos 窗口自动关闭,那么,你可以使用start命令来执行该外部程序,而不是直接写上一行来执行。

例子说明:view plain copy1.start "CS" "c:\programme files\cs\half-life.exe" "/m"上面只是一个使用格式的例子,即start "给窗口随便命个名" "带完整路径的程序程序" "程序需要传递的参数串(可省略)"当然,在你的批处理文件末尾,最好不要忘记加上一行:EXIT。

请问Start命令中的/w参数怎么用?我知道/w的大概意思是不回到提示符转到其它的程序。

我想执行一条命令:即运行完DIR后再执行其它命令START dir cd c:\ /w。

这条命令只能执行到DIR便不再执行下去了,是我的命令写错了吗?另请问在START命令中为什么不能执行内部命令,我的DIR是做了一条批处理的。

【参考回复】请注意,Start会开启新窗口来运行程序,如果新窗口不正常退出,你的批处理就不能正常执行下去,所以如果你要用Start启用dir命令,一定要将dir命令写入一个批处理文件中,然后在批处理文件的最后面加上exit命令。

正确的用法应该是这样:1、建立使用dir命令的批处理如:test.batview plain copy1.@echo off2.dir c:\3.rem ....其它操作4.exit2、在另一个批处理中调用该批处理:view plain copy1....2.start /wait call test.bat3....其实在这里就没有必要使用start /wait了,因为使用了call命令后,test.bat已经控制了流程,一定是在call结束后才会继续下一步的操作。

批处理语法大全

批处理语法大全

批处理语法大全
批处理是一种简单的程序,主要用于在DOS和Windows环境中执行一系列命令。

以下是批处理的基本语法和常用命令:
1. 批处理文件是一个“.bat”或“.cmd”结尾的文本文件,这个文件的每一行都是一条DOS命令。

可以使用任何文本文件编辑工具创建和修改。

2. 批处理中,可以使用if和goto来控制流程,也可以使用for循环。

3. echo命令:用于在命令提示符窗口中输出信息。

可以使用“”符号来抑制输出的回显。

4. echo off:关闭回显,从下一行开始关闭回显。

5. title命令:设置cmd窗口的标题。

6. ver命令:显示系统版本。

7. pause命令:让当前进程暂停一下,并显示“请按任意键继续. . .”。

8. for命令:用于循环执行一系列命令。

这只是批处理语法的冰山一角,实际上批处理还有许多其他的语法和命令。

如果你想要深入学习批处理,可以查阅相关教程和资料。

DOS批处理命令

DOS批处理命令

1、*.*的简写*.*可以用.代替,例如,删除当前目录中的全部文件∶DEL.2、返回父目录即上级目录CD..3、把目录文件的列表存入文本文件中DIR>filename4、查看当前目录下任何属性的文件方法一∶DIR,方法二∶DIR/A5、取消当前目录下所有文件的所有属性(实际上只能查看属性而不能取消-jm注) ATTRIB,若在C盘根目录下执行此命令,再用DIR来查看,可以看到IO.SYS、MSDOS.SYS等隐含文件6、显示当前目录下的所有子目录名DIR/AD7、连续显示多个文件的内容COPY *.* CON8、分屏显示文件内容方法一∶MORE<filename方法二∶TYPE filename|more9、改变磁盘文件的注册时间方法二∶COPY filename+,,10、如何屏蔽DOS行的输出信息?方法是将屏幕输出重定向到DOS空设备NUL,例如∶COPY MYPROG.EXE A:>NUL11、在DOS状态下直接显示用D方式编辑的WPS文件内容COPY filename.wps CON/B12、向文本文件中追加数据方法一∶COPY filename+CON方法二∶TYPE CON>>filename输入完毕后按F6或Ctrl+Z键结束。

13、键盘指法练习或汉字输入练习的简易屏幕COPY CON NUL14、直接打印键盘输入的内容方法一∶COPY CON PRN方法二∶MORE>PRN方法三∶SORT>PRN输入完毕后按F6或Ctrl+Z键。

15、DOS下直接编辑生成文件在没有任何编辑软件(如EDLIN、EDIT等)的情况下,可临时用以下六种方法从键盘编辑生成文件,当文件内容输入完毕后,按F6键或按Ctrl+Z键存盘退出∶方法一∶COPY CON filename方法三∶MORE>filename方法四∶SORT>filename方法五∶FIND"XXX"/V/N>filename方法六∶SORT|FIND"XXX"/V/N>filename方法四、五、六均有特殊用处,读者不妨一试。

批处理入门手册之批处理常用DOS命令篇(md、rd、ren、move)

批处理入门手册之批处理常用DOS命令篇(md、rd、ren、move)

批处理⼊门⼿册之批处理常⽤DOS命令篇(md、rd、ren、move)1.3 学习 md rd ren move 命令学习要点:1.创建⽂件夹:md2.删除⽂件夹:rd3.重命名⽂件(夹):ren4.移动⽂件(夹):move⼀.创建⽂件夹:mdmd命令⽤于创建⽂件夹,下⾯例⼦中的路径是可以缺省的,如果缺省则在当前⽬录下创建新⽂件夹;如果创建的新⽂件夹及其路径带有空格或特殊符号的,要⽤双引号括起来。

1.创建单个⽂件夹格式:MD [路径\]⽬录例1md d:\abc在D盘下建⽴⼀个名为abc的⽂件夹。

例2md abc这⾥为缺省路径,则在当前⽬录下创建⼀个名为abc的⽂件夹。

例3md "d:\my game"在D盘下建⽴⼀个名为my game的⽂件夹。

对于新建的⽂件夹名称中包含有空格或是特殊符号的,⼀定要⽤双引号” “把⽂件夹名括起来。

例4md "C:\Documents and Settings\456^ 789"在C:\Documents and Settings下建⽴⼀个名为456^ 789的⽂件夹,由于路径中有空格,所以我们⽤双引号" "把路径和⽂件夹名⼀起括起来了。

2.同时创建多个⽬录格式:md [路径\]⽬录1 [路径\]⽬录2 [路径\]⽬录3……例5md abc D:\gmae\123 abcd在当前⽬录下建⽴abc和abcd两个⽂件,同时D:\gmae下也建⽴⼀个⽂件夹123。

3.创建多级⽬录格式:md [路径\]⽬录1\⽬录2\⽬录3\…假如我们要在D盘下建⽴⽂件夹abc,然后在abc中建新⽂件夹abcd,接着再在abcd中建⽂件夹abcde,有没有⼀个命令可以⼀次性搞定的呢?答案肯定的!例6md d:\abc\abcd\abcde就这么⼀个命令就搞定了,不信?你当然可以测试⼀下罗,呵呵~思考:在例4中如果命令不⽤双引号括起来,即md C:\Documents and Settings\456^ 789 这样会发⽣什么情况呢?这个就让⼤家动⼿去测试⼀下了,哈哈!!⼆.删除⽂件夹:rd删除⼀个⽬录。

批处理常用DOS命令之find和findstr的用法详解

批处理常用DOS命令之find和findstr的用法详解

批处理常⽤DOS命令之find和findstr的⽤法详解1.字符串查找:find2.字符串查找增强:findstr⼀.字符串查找:find在⽂件中搜索字符串。

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] “string” [[drive:][path]filename[ …]]/V 显⽰所有未包含指定字符串的⾏。

/C 仅显⽰包含字符串的⾏数。

/N 显⽰⾏号。

/I 搜索字符串时忽略⼤⼩写。

/OFF[LINE] 不要跳过具有脱机属性集的⽂件。

“string” 指定要搜索的⽂字串,[drive:][path]filename 指定要搜索的⽂件。

基本格式:find “要查找的字符串” 要查找的⽂件(不在当前⽬录则需要给出完整路径)例1find "abc" d:\abc.txt在abc.txt中查找字符串abc的⾏。

/I 搜索字符串时忽略⼤⼩写。

例2find /i "abc" d:\abc.txt参数/i代表的是“Ignore”(忽略),也就是忽略⼤⼩写。

通过/I 参数可以不区分要查找的字符串“abc”的⼤⼩写。

/N 显⽰⾏号。

例3find /n "abc" d:\abc.txt参数/n代表英语单词“Number”(号码).。

通过/n参数我们可以查找到字符串"abc"所在的⾏号。

/C 仅显⽰包含字符串的⾏数。

例4find /c "abc" d:\abc.txt参数/c是英语单词“Count”(计数)的缩写。

通过/c参数我们可以统计包含"abc"字符串的⾏数。

/V 显⽰所有未包含指定字符串的⾏。

例5find /v "abc" d:\abc.txt这个参数⽤于找出⽂件中不包含指定字符串的⾏。

在这⾥表⽰查找不包含"abc"字符串的⾏。

终极dos批处理for循环命令详解

终极dos批处理for循环命令详解

终极dos批处理for循环命令详解格式:FOR [参数] %%变量名 IN (相关⽂件或命令) DO 执⾏的命令 作⽤:对⼀个或⼀组⽂件,字符串或命令结果中的每⼀个对象执⾏特定命令,达到我们想要的结果。

注意:在批处理⽂件中使⽤ FOR 命令时,指定变量请使⽤ %%variable,⽽不要⽤ %variable。

变量名称是区分⼤⼩写的,所以 %i 不同于 %I. 关于:for命令可以带参数或不带参数,带参数时⽀持以下参数:/d /l /r /f 下⾯分别解释⼀下 零:⽆参数时: FOR %variable IN (set) DO command [command-parameters] %variable 指定⼀个单⼀字母可替换的参数。

(set) 指定⼀个或⼀组⽂件。

可以使⽤通配符。

command 指定对每个⽂件执⾏的命令。

command-parameters 为特定命令指定参数或命令⾏开关。

TTT⽰例: for %%i in (t*.*) do echo %%i --显⽰当前⽬录下与t*.*相匹配的⽂件(只显⽰⽂件名,不显⽰路径) for %%i in (d:\mydocuments\*.doc) do @echo %%i --显⽰d:\mydocuments\⽬录下与*.doc相匹配的⽂件 ⼀、参数 /d (参数只能显⽰当前⽬录下的⽬录名字) 格式:FOR /D %variable IN (set) DO command [command-parameters] 这个参数主要⽤于⽬录搜索,不会搜索⽂件,/D 参数只能显⽰当前⽬录下的⽬录名字。

(TTT特别说明:只会搜索指定⽬录下的⽬录,不会搜索再下⼀级的⽬录。

) TTT⽰例: for /d %%i in (c:\*) do echo %%i --显⽰c盘根⽬录下的所有⽬录 for /d %%i in () do echo %%i --显⽰当前⽬录下名字只有1-3个字母的⽬录 ⼆、参数 /R (搜索指定路径及所有⼦⽬录中与set相符合的所有⽂件) 格式:FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] 此命令会搜索指定路径及所有⼦⽬录中与set相符合的所有⽂件,注意是指定路径及所有⼦⽬录。

DOS批处理命令-注释

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批处理高级教程

DOS批处理高级教程1.批处理基础1.1.第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。

这些命令统称批处理命令。

小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。

了解了大概意思后,我们正式开始学习.先看一个简单的例子!1.@echo off2.echo "欢迎来到非常BAT!"3.pause复制代码把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕上显示以下二行话:欢迎来到非常BAT!请按任意键继续. . .这就是一个简单批处理文件了,这个批处理文件一共就用了2条命令 "echo" 和"pause" 还有一个特殊符号"@"从上面这个简单的批处理中,我们可以发现其实批处理就是运用一些含有特殊意义的符号和一些完成指定功能的命令组合而成,那么在批处理中有多少这样的特殊符号和功能命令呢?我们现在就来仔细了解一下一些最常用的!批处理的常见命令(未列举的命令还比较多,请查阅帮助信息)1、REM 和 ::2、ECHO 和 @3、PAUSE4、ERRORLEVEL5、TITLE6、COLOR7、mode 配置系统设备8、GOTO 和 :9、FIND10、START11、assoc 和 ftype12、pushd 和 popd13、CALL14、shift15、IF16、setlocal 与变量延迟17、ATTRIB 显示或更改文件属性介绍命令1、REM 和 ::REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。

其次, :: 也可以起到rem 的注释作用, 而且更简洁有效; 但有两点需要注意:第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。

实验一简单DOS命令与批处理文件

实验一简单DOS命令与批处理文件

实验一简单DOS命令与批处理文件一、实验目的与要求1.掌握DOS命令的使用。

2.学会建立和使用简单的批处理文件。

二、实验设备及环境本实验基于Windows操作系统。

三、实验内容1.进入DOS命令行状态:单击“开始”---〉单击“运行”---〉输入“cmd”---〉单击“确定”,进入DOS命令行状态。

如图1-1所示:图1-1 DOS命令行状态2.DOS命令介绍由于DOS命令很多,这里我们列举了最常用的几个DOS命令。

(1)DIR命令:显示磁盘目录内容格式:DIR参数常用参数:/P 显示信息满一屏时停顿,按任意键进入下一屏;/W 使用横的列表方式;/A 只显示指定属性的文件。

属性:D:目录;R:只读文件;H:隐藏文件;A:归档文件;S:系统文件;/O:按指定的顺序列出文件。

顺序:N:按名称(字母顺序);S:按大小(小在前);E:按扩展名(字母顺序);D:按日期(早在前);/S :显示指定目录下所有子目录中的文件。

举例:DIR/P:分页显示当前目录内容;DIR/P/AR/S C:\document:分页显示C:\document目录下的只读文件。

(2)MD命令:创建新目录命令格式:MD 目录名举例:MD XYZ 在当前目录下建立名为XYZ的子目录(3)CD命令:显示或改变当前工作目录命令格式:CD 目录路径举例:CD XYZ:从当前目录进入XYZ子目录;CD \AB:进入当前磁盘根目录下的AB子目录。

(4)RD命令:删除当前目录下的空目录命令格式:RD 目录名举例:RD XYZ 删除当前目录下已删空文件的子目录XYZ(注意:只能在该目录为空的情况下才能将其删除。

)(5)DEL命令:删除文件命令格式:DEL 文件名举例:DEL abc.txt 删除当前目录下的abc.txt文件;DEL *.txt:删除当前目录下所有扩展名为.txt的文件。

(6)DELTREE命令:这是DOS 5.0以上版本新增的命令。

Dos命令:批处理

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批处理高级教程第六章if命令讲解

DOS批处理高级教程第六章if命令讲解

DOS批处理⾼级教程第六章if命令讲解现在开始:在CMD使⽤IF /?打开IF的系统帮助(⾃⼰看我就不全部列出来了),我们会发现IF有3种基本的⽤法!执⾏批处理程序中的条件处理。

IF [NOT] ERRORLEVEL number commandIF [NOT] string1==string2 commandIF [NOT] EXIST filename commandNOT 指定只有条件为 false 的情况下, Windows XP 才应该执⾏该命令。

ERRORLEVEL number 如果最后运⾏的程序返回⼀个等于或⼤于指定数字的退出编码,指定条件为 true。

string1==string2 如果指定的⽂字字符串匹配,指定条件为 true。

EXIST filename 如果指定的⽂件名存在,指定条件为 true。

command 如果符合条件,指定要执⾏的命令。

如果指定的条件为 FALSE,命令后可跟⼀个执⾏ ELSE关键字后的命令的 ELSE 命令。

ELSE ⼦句必须在 IF 之后出现在同⼀⾏上。

例如:IF EXIST filename (del filename) ELSE (echo filename missing)第⼀种⽤法:IF [NOT] ERRORLEVEL number command这个⽤法的基本做⽤是判断上⼀条命令执⾏结果的代码,以决定下⼀个步骤.⼀般上⼀条命令的执⾏结果代码只有两结果,"成功"⽤0表⽰ "失败"⽤1表⽰.举个例⼦:@echo offnet userIF %ERRORLEVEL% == 0 echo net user 执⾏成功了!pause这是个简单判断上条命令是否执⾏成功.细⼼的朋友可能会发现,这个⽤法和帮助⾥的⽤法不太⼀样,按照帮助⾥的写法"IF %ERRORLEVEL% == 0 echo net user 执⾏成功了! "这⼀句代码应该写成:IF ERRORLEVEL 0 echo net user 执⾏成功了!那为什么我要写成这样呢?各位⾃⼰把代码改掉执⾏后,就会发现错误了!⽤这种语法,不管你的上⾯的命令是否执⾏成功,他都会认为命令成功了,不知道是BUG还是本⼈理解错误...补充:这不是bug,⽽是 if errorlevel 语句的特点:当使⽤ if errorlevel 0 …… 的句式时,它的含义是:如果错误码的值⼤于或等于0的时候,将执⾏某个操作;当使⽤ if %errorlevel%==0 …… 的句式时,它的含义是:如果错误码的值等于0的时候,将执⾏某操作。

利用DOS命令对文件进行批处理

利用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!

批处理语法-DOS命令大全-批处理教程-DOS教程

批处理语法-DOS命令大全-批处理教程-DOS教程
C:\WPS>wbx
C:\WPS>wps
如果每次用WPS之前都这样执行一遍,您是不是觉得很麻烦呢?
好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个runwps.bat批处理文件,内容如下:
@echo off
c:
cd\wps
spdos
py
wbx
wps
cd
@ECHO OFF
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINTOOLS;C:\BATCH
LH SMARTDRV.EXE /X
LH /INSERT
LH CTMOUSE.EXE
choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
描述:
该工具允许用户从选择列表选择一个项目并返回所选项目的索引。
if errotlevel 1 goto defrag
: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,批处理运行结束。

dos批处理高级教程set命令详解

dos批处理高级教程set命令详解

1在上一贴中我简单的介绍了一下SET设置自定义变量的作用,现在我来具体讲一下set的其他功能.23一、用set命令设置自定义变量45显示、设置或删除cmd.exe 环境变量。

67SET [variable=[string]]8variable 指定环境变量名。

9string 指定要指派给变量的一系列字符串。

10要显示当前环境变量,键入不带参数的SET。

1112SET 命令不允许变量名含有等号。

1314注意:以下用法将清除变量variable的值,使其变成未定义状态。

1516SET variable=1718上面等号后面无任何符号,如果写成SET variable="",此时变量值并不为空,而是等于两个引号,即""1920例子:@echo off21set var=我是值22echo %var%23pause复制代码请看set var=我是值,这就是BAT直接在批处理中设置变量的方法!set 是命令var是变量名=号右边的"我是值"是变量的值在批处理中我们要引用这个变就把var变量名用两个%(百分号)扩起来,如%var%SET还可以提供一个交互界面,让用户自己输入变量的值,然后我们在来根据这个值来做相应操作,现在我就来说说SET的这种语法,只需要加一个"/P"参数就可以了!SET /P variable=[promptString]例子:24@echo off25set /p var=请输入变量的值:26echo 您输入了%var% ~_~27pause复制代码set /p 是命令语法var是变量名=号右边的"请输入变量的值: ",这个是提示语,不是变量的值了!运行后,我们在提示语后面直接输入1,就会显示一行您输入了 1 ~_~好了,先回顾到这,现在讲SET其他功能使用set /?查看SET的帮助我们发现SET除了我上面讲的SET [variable=[string]]SET /P variable=[promptString]这两种语法外,还有如下几种语法:SET /A expression环境变量替换已如下增强:%PATH:str1=str2%%PATH:~10,5%%PATH:~-10%%PATH:~0,-2%这机种语法有什么用处呢?下面我们来一个个讲解他们!二、用set命令进行简单计算语法:SET /A expression/A 命令行开关指定等号右边的字符串为被评估的数字表达式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.简单批处理内部命令简介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 Apausegoto 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-parameters]检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。

如果在 /R 后没有指定目录,则使用当前目录。

如果集仅为一个单点(.)字符,则枚举该目录树。

FOR /L %variable IN (start,step,end) DO command [command-parameters]该集表示以增量形式从开始到结束的一个数字序列。

因此,(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 为一个或多个文件名。

继续到 filenameset 中的下一个文件之前,每份文件都已被打开、读取并经过处理。

处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。

然后用已找到的符号字符串变量值调用 For 循环。

以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。

跳过空白行。

您可通过指定可选 "options" 参数替代默认解析操作。

这个带引号的字符串包括一个或多个指定不同解析选项的关键字。

这些关键字为:eol=c - 指一个行注释字符的结尾(就一个)skip=n - 指在文件开始时忽略的行数。

delims=xxx - 指分隔符集。

这个替换了空格和跳格键的默认分隔符集。

tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。

这会导致额外变量名称的格式为一个范围。

通过 nth 符号指定 m 符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之分配并接受行的保留文本。

usebackq - 指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且引号字符为文字字符串命令并允许在 file-set中使用双引号扩起文件名称。

sample1:FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给 for程序体;用逗号和/或空格定界符号。

相关文档
最新文档