xp中创建批处理文件的常见命令和语法
批处理命令大全
会分析my中的每一行,忽略以分号打头的那些行,将每 行中的第二个和第三个符号传递给for程序体;用逗号和/ 或空格定界符号。
请注意,这个for程序体的语句引用%i来取得第二个符号, 引用%j来取得第三个符号,引用%k来取得第三个符号后 的所有剩余符号。对于带有空格的文
件名,您需要用双引号将文件名括起来。为了用这种方 式来使用双引号,您还需要使用usebackq选项,否则,双 引号会被理解成是用作定义某个要分析
C::>SHIFT.BAT12345678
91011 123456789 2345678910
34567891011 以上就是基于WIN2000下的9个批处理命令。 第二
部分:特殊的符号与批处理
在命令行下有些符号是不允许使用的但有些符号却有着特殊的意 义。 1、符号(@) @在批处理中的意思是关闭当前行
的字符串的。
%i专门在for语句中得到说明,%j和%k是通过tokens=选项 专门得到说明的。您可以通过tokens=一行指定最多26个
符号,只要不试图说明一个高于字母'z'或'Z'的变数。请记 住,FOR变量名分大小写,是通用的;而且,同时不能有 52个以上都在使用中。 您还
可以在相邻字符串上使用FOR/F分析逻辑;方法是,用单 引号将括号之间的括起来。这样,该字符串会被当作一 个檔中的一个单一
51.txt 2003-03-1211:430aierrorlog.txt 2003-03-3000:3530,571202.108.t
xt 5个文件18,630,070字节 0个目录1,191,542,784可用字节 >将命令执行的结果覆盖了原始的檔内容。 在传递给
控制台的时候程序将不会有任何回显(注意:这里的回 显跟echooff关掉的回显不是同一概念。Echooff关掉的是 输入命令的回显,这里的回显是
批处理文件常用命令
批处理文件常用命令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.txtcall c:\ucdos\ucdos.bat调用ucdosecho你好显示"你好"pause暂停,等待按键继续rem使用wps注释将使用wpscd ucdos进入ucdos目录wps使用wps批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。
%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。
变量可以从%0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
例如:C:根目录下一批处理文件名为f.bat,内容为format%1则如果执行C:\>f a:则实际执行的是format a:又如:C:根目录下一批处理文件的名为t.bat,内容为type%1type%2那么运行C:\>t a.txt b.txt将顺序地显示a.txt b.txt-----------------------------------------------------批处理文件特殊命令-----------------------------------------------------if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
bat批处理文件语法
批处理文件(也称为批处理脚本)是一种用于Windows 系统的脚本文件,其文件扩展名通常为`.bat`。
批处理文件可以包含一系列命令和操作,用于自动化执行一系列任务。
以下是一些常见的批处理文件语法:1. 命令行命令:批处理文件可以包含一系列的命令行命令,这些命令将按照脚本中的顺序依次执行。
REM 这是注释,使用REM 关键字echo "Hello, World!" // 输出文本到控制台dir // 列出当前目录的文件和子目录copy file1.txt file2.txt // 复制文件2. 变量和参数:批处理文件可以使用变量和命令行参数来存储和操作数据。
set name=John // 设置变量echo %name% // 使用变量echo %1 // 使用第一个命令行参数3. 控制流语句:批处理文件支持一些基本的控制流语句,如条件语句和循环语句。
if exist file.txt (echo "File exists") else (echo "File does not exist")for %%i in (1 2 3) do (echo %%i)4. 函数和子程序:批处理文件可以定义和调用函数和子程序。
:myFunctionecho "This is my function"goto :eofcall :myFunction5. 注释:使用`REM` 或者`::` 关键字可以添加注释。
REM 这是一条注释:: 这也是一条注释上述是一些常见的批处理文件语法,可以帮助你开始编写简单的批处理脚本来执行一系列的任务。
批处理文件语法非常灵活,可以实现自动化的文件操作、系统管理等任务。
XP批处理
第一方法说明:补丁程序放在移动硬盘中的一个盘符里步骤一:运行--cmd--命令行方式--进入补丁所在盘符(比如d盘)则输入:d: --进入补丁所在目录(比如hotfix)则输入:cd \hotfix--命令 dir /b /o-d > fix.txt以上命令行的意思是仅提取目录中的所有文件的文件名并将其保存在fix.txt 保存后你会发现第一行是fix.txt,将这行删除就行。
参数"/b"的意思是不显示文件的头信息及统计信息,参数/o-d 是要求文件名按时间先后顺序进行排序(注意:补丁的安装是有有先后顺序的,必须先安装旧的再安装新的),接着打开fix.txt,里面的内容大概如下形式: WindowsXP-KB927802-x86-CHS.exeWindowsXP-KB928843-x86-CHS.exeWindowsXP-KB927779-x86-CHS.exeWindowsXP-KB926436-x86-CHS.exeWindowsXP-KB924667-x86-CHS.exeWindowsXP-KB918118-x86-CHS.exe命令行执行:systeminto > d:\sys.txt将系统已装补丁存到sys.txt中,然后从fix.txt中删除在sys.txt中已经存在的补丁列表然后在fix.txt中通过查找/替换的方式将之修改为:注意:/U /Q /Z 之间必须加上空格start /wait WindowsXP-KB927802-x86-CHS.exe /U /Q /Zstart /wait WindowsXP-KB928843-x86-CHS.exe /U /Q /Zstart /wait WindowsXP-KB927779-x86-CHS.exe /U /Q /Z说明:“Start”是Windows系统自带的DOS命令,它的作用是用来调用应用程序的;“/wait”表示启用应用程序并等待其结束,然后再执行下一个应用程序;参数“/U”表示使用无人参与模式,参数“/Q”表示无用户交互,参数“/Z”表示安装完成时不重新启动计算机。
批处理命令大全
的字符串的。 %i专门在for语句中得到说明,%j和%k是通过tokens=选项 专门得到说明的。您可以通过tokens=一行指定最多26个
符号,只要不试图说明一个高于字母'z'或'Z'的变数。请记 住,FOR变量名分大小写,是通用的;而且,同时不能有 52个以上都在使用中。 您还
可以在相邻字符串上使用FOR/F分析逻辑;方法是,用单 引号将括号之间的filenameset括起来。这样,该字符串会 被当作一个檔中的一个单一
程序执行完毕跳至标题exit处退出 gotoexit :exit Rem这里是程序的出口 2、IFstring1==string2c
ommand 检测当前变量的值做出判断 ECHOOFF IF%1==2gotono Echo变数相等! Gotoexit :no
echo变数不相等 gotoexit :exit 大家可以这样看效果C:>test.bat数字 3、IF[NOT]EXISTfi
部分:特殊的符号与批处理 在命令行下有些符号是不允许使用的但有些符号却有着特殊的意 义。 1、符号(@) @在批处理中的意思是关闭当前行
的回显。我们从上面知道用命令echooff可以关掉整个批 处理的命令回显但却不能不显示echooff这个命令。现在 我们在这个命令前加上@这样e
chooff这一命令就被@关闭了回显从而达到所有命令均不回 显得要求 2、符号(>) >的意思是传递并覆盖。他所起的作用是将运行后的回显结
D如果集中包含通配符,则指定与目录名匹配,而不与文 件名匹配。 /F从指定的文件中读取数据作为变量 eol=c-指一个行注释字符的结尾(就
一个) skip=n-指在檔开始时忽略的行数。 delims=xxx-指分隔符集。这个替换了空格和跳格键的默认分隔符 集。 tokens
批处理文件注释语句
批处理文件注释语句批处理文件是一种Windows操作系统下的命令行脚本,它由一系列的命令组成,可用于自动化批量执行任务。
在编写批处理文件时,我们需要在命令行中添加注释,以便自己和其他用户能够更轻松地理解这些命令。
批处理文件注释语句需要遵循一定的规则。
注释语句以“REM”开头,后面紧跟着注释内容。
如下所示:REM 这是注释内容批处理文件注释语句的位置并不会影响批处理文件的执行结果。
一般来说,我们会将注释放在每个命令的前面,以便更好地管理和维护批处理文件。
下面是一些建议的注释位置:1. 批处理文件的用途和主要功能。
在批处理文件的开头,我们应该添加一段注释来说明该批处理文件的用途和主要功能。
这样做有助于其他用户了解该批处理文件的作用,并避免误解或错误使用。
示例:REM 这个批处理文件用来备份文档文件夹中的所有文档。
2. 每个命令的功能和用途。
为每个命令添加注释有助于其他用户理解每个命令的作用和用途。
这样做有助于更好地管理、修改和维护批处理文件。
3. 每个操作的执行结果和返回值。
某些操作可能会返回错误或警告消息,为了方便判断批处理文件的运行情况,我们需要在执行每个操作时添加注释来标记执行结果和返回值。
REM 如果文件夹已存在,则显示一个警告消息。
批处理文件注释语句的目的是方便其他用户理解批处理文件的执行过程、作用和结果。
好的注释能够提高批处理文件的可读性、可维护性和可重用性。
在编写批处理文件时,我们需要遵循一定的规则和标准,使注释更加规范、易读、易懂。
批处理语法大全
批处理语法大全
批处理是一种简单的程序,主要用于在DOS和Windows环境中执行一系列命令。
以下是批处理的基本语法和常用命令:
1. 批处理文件是一个“.bat”或“.cmd”结尾的文本文件,这个文件的每一行都是一条DOS命令。
可以使用任何文本文件编辑工具创建和修改。
2. 批处理中,可以使用if和goto来控制流程,也可以使用for循环。
3. echo命令:用于在命令提示符窗口中输出信息。
可以使用“”符号来抑制输出的回显。
4. echo off:关闭回显,从下一行开始关闭回显。
5. title命令:设置cmd窗口的标题。
6. ver命令:显示系统版本。
7. pause命令:让当前进程暂停一下,并显示“请按任意键继续. . .”。
8. for命令:用于循环执行一系列命令。
这只是批处理语法的冰山一角,实际上批处理还有许多其他的语法和命令。
如果你想要深入学习批处理,可以查阅相关教程和资料。
Windows批处理语法
Windows批处理语法Windows 批处理语法------------------------------------------------------------------------------------------------批处理⽂件是⽆格式的⽂本⽂件,它包含⼀条或多条命令。
它的⽂件扩展名为 .bat 或 .cmd。
在命令提⽰下键⼊批处理⽂件的名称,或者双击该批处理⽂件,系统就会调⽤Cmd.exe按照该⽂件中各个命令出现的顺序来逐个运⾏它们。
使⽤批处理⽂件(也被称为批处理程序或脚本),可以简化⽇常或重复性任务。
当然我们的这个版本的主要内容是介绍批处理在⼊侵中⼀些实际运⽤,例如我们后⾯要提到的⽤批处理⽂件来给系统打补丁、批量植⼊后门程序等。
下⾯就开始我们批处理学习之旅吧。
⼀.简单批处理内部命令简介 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 命令 指定跳转到标签,找到标签后,程序将处理从下⼀⾏开始的命令。
批处理常用命令及用法大全
批处理常用命令及用法大全说明:本文来自网络,由youxi01整理,由liqiochi修改完善。
阅读本文需要一定的dos基础概念,象:盘符、文件、目录(文件夹)、子目录、根目录、当前目录每个命令的完整说明请加/? 参数参考微软的帮助文档可以看到,在/? 帮助里,"命令扩展名"一词会经常出现"命令扩展名"是指相对于win98的dos版本而言,每个命令新增的功能命令测试环境win2000proSP4win98的命令功能太少,就不作研究了注:如果对某一命令还不是很熟悉,可以在命令行窗口下输入:命令名/?的方式来获得帮助。
例如:对dir命令的应用不熟悉,可以在命令行窗口下输入:dir /?参数只列举常用参数。
注:errorlevel,msd,undelete在win7下不存在。
目录1.echo 和@回显控制命令 (3)2.shutdown 关机 (3)3.dir显示目录中的文件和子目录列表 (4)4.cd更改当前目录 (4)5.md创建目录 (5)6.rd删除目录 (5)7.del删除文件 (5)8.ren文件和文件夹重命名 (6)9.cls清屏 (6)10.type显示文件内容 (6)11.copy拷贝文件(只能复制文件) (6)12.title设置cmd窗口的标题 (7)13.ver显示系统版本 (7)bel 和vol设置卷标 (7)15.pause暂停命令 (7)16.rem 和::注释命令 (7)17.date 和time日期和时间 (8)18.goto 和:跳转命令 (8)19.find (外部命令)查找命令 (8)20.more (外部命令)逐屏显示 (9)21.tree显示目录结构 (9)22.&顺序执行多条命令,而不管命令是否执行成功 (9)23.&&顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令 . 924.||顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令 (9)25.|管道命令,前一个命令的执行结果输出到后一个命令 (10)附:批处理for中的管道转义|,尖号 (10)26.>和>>输出重定向命令 (10)27.<从文件中获得输入信息,而不是从屏幕上 (11)28.%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %* 命令行传递给批处理的参数 (11)29.set设置变量 (12)30.start (14)31.call (15)32.choice (外部命令)选择命令 (15)33.assoc和ftype文件关联 (16)34.attrib (16)35.move 把文件或文件夹从A处移动到B处 (17)36.xcopy (外部命令)文件拷贝 (17)37.一些不常用的内部命令 (18)38.format (外部命令)格式化硬盘 (18)39.ping (外部命令) (19)40.SC (外部命令)服务控制命令 (19)41.pushd 和popd 切换当前目录 (19)42.findstr 字符串查找增强 (19)行首、行尾符规则,即^ 和$ (21)字符集规则,即[class] (21)减法规则,即[^class] (21)单词前缀后缀定位规则,即\<xyz和xyz\> (22)43.at 在特定日期和时间运行命令和程序。
Windows批处理(bat)语法大全
Windows批处理(bat)语法⼤全%~dp0[获取当前路径]%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,⽬录cd %~dp0 :进⼊批处理所在⽬录cd %~dp0bin\ :进⼊批处理所在⽬录的bin⽬录⽰例这个⽰例在win10 x64测试正常::作⽤:以管理员⾝份安装Apached:cd %~dp0binhttpd.exe -k install -n “Apache24”运⾏结果以管理员⾝份运⾏ ⽰例.bat ,执⾏结果如下:C:\Windows\system32>d:D:>cd D:\Server\Apache24\binD:\Server\Apache24\bin>httpd.exe -k install -n “Apache24”我的常⽤命令%cd%[执⾏的路径]当前执⾏的路径,并⾮⽬标⽂件的路径taskkill /f /im notepad.exe [终⽌进程]taskkill /?打开帮助cmd窗⼝中⽂乱码在CMD窗⼝右键/默认值,打开属性选择 “默认代码页为简体中⽂GBK”,获取命令帮助 xxx /?遇到记不清楚的命令,但记得名字,就可以键⼊ 命令名 空格 /?就会有详细的该命令的帮助了,⽐如:ping /? cd /?查看内置命令的帮助信息ver /?cmd /?set /?rem /?if /?echo /?goto /?for /?shift /?call /?其他常⽤的命令type /?find /?findstr /?copy /?#⼀、基础语法1.批处理⽂件是⼀个“.bat”结尾的⽂本⽂件,这个⽂件的每⼀⾏都是⼀条DOS命令。
可以使⽤任何⽂本⽂件编辑⼯具创建和修改。
2.批处理是⼀种简单的程序,可以⽤ if 和 goto 来控制流程,也可以使⽤ for 循环。
3.批处理的编程能⼒远不如C语⾔等编程语⾔,也⼗分不规范。
windowsxp批处理
windowsxp批处理assoc显⽰或修改⽂件扩展名关联ASSOC [.ext[=[fileType]]].ext 指定跟⽂件类型关联的⽂件扩展名fileType 指定跟⽂件扩展名关联的⽂件类型键⼊ ASSOC ⽽不带参数,显⽰当前⽂件关联。
如果只⽤⽂件扩展名调⽤ ASSOC,则显⽰那个⽂件扩展名的当前⽂件关联。
如果不为⽂件类型指定任何参数,命令会删除⽂件扩展名的关联。
Ftype显⽰或修改⽤在⽂件扩展名关联中的⽂件类型FTYPE [fileType[=[openCommandString]]]fileType 指定要检查或改变的⽂件类型openCommandString 指定调⽤这类⽂件时要使⽤的开放式命令。
键⼊ FTYPE ⽽不带参数来显⽰当前有定义的开放式命令字符串的⽂件类型。
FTYPE 仅⽤⼀个⽂件类型启⽤时,它显⽰那个⽂件类型⽬前的开放式命令字符串。
如果不为开放式命令字符串指定,FTYPE 命令将删除那个⽂件类型的开放式命令字符串。
在⼀个开放式命令字符串之内,命令字符串 %0 或 %1 被通过关联调⽤的⽂件名所代替。
%* 得到所有的参数,%2 得到第⼀个参数,%3 得到第⼆个,等等。
%~n 得到其余所有以 nth 参数打头的参数;n 可以是从 2 到 9 的数字。
例如:ASSOC .pl=PerlScriptFTYPE PerlScript=perl.exe %1 %*允许您启⽤以下 Perl 脚本:script.pl 1 2 3A more general version with argumentsThe file that we have been discussing is limited to listing one particular folder and putting the list in one particular file. However, it is easy to make the file able to list whatever folder we want and to put the list wherever we want. Batch files can use arguments or data that is input from the user. The process makes use of placeholders of the form %1, %2, These are replaced in the script by our input data. This type of situation cannot be clicked directly but should be run in a command prompt. The new batch file would be @echo offdir %1 > %2Enter in Notepad and save as "makelist.bat". To run the file, open a command prompt and enter{path}makelist somefolder somewhere\list.txtwhere somefolder is whatever folder (with complete path) that you want to list in somewhere\list.txt. Now you have a little program that will list the contents of a folder whenever you want. If you want a list of all the subfolders as well, use the commanddir /s %1 > %2If you want a list that only includes files of a certain type, MP3 files for example, usedir %1\*.mp3 > %2The line above illustrates the use of the wildcard "*". The ability to use wildcards greatly enhances the power of batch files.Life will be easier if you put all batch scripts in a folder that is in the .The Rem statementof any complexity, comments are a good idea. Note that the command interpreter actually reads Rem statements so using too many can slow down execution of a script.More examplesFollowing the discussion on , it is easy to create batch files for some typical maintenance. To create a very simple backup script, use . The code might be xcopy %1 %2 /d /sThis will update all files in the input source folder %1 and its subfolders by copying to the backup folder %2. In practice, a useful backup script would probably need a few more of the switches discussed at .Again following of the command "del", a file to delete all temporary files with extension TMP might containdel %1\*.tmpTable I. Comparison operators in"If' statements OperatorMeaningEQU equal to NEQnot equal to LSS less thanLEQ less than or equal to GTR greater thanGEQ greater than or equal toPrompting for user inputYou can also interact with a user and ask that data be entered. The old DOS had a "Choice" command for very limited interaction but that has been superseded in Windows XP/Vista by the more versatile "set /p". The syntax is:set /p variable = [string]"Variable " is the name of the variable that will be assigned to the data that you want the user to input. "String" is the message that the user will see as a prompt. If desired, "string" can be omitted. Here is an example that asks the user to enter his or her name:set /p name= What is your name?This will create a variable %name% whose value is whatever the user enters. Note that the user must press the "Enter' key after typing the input.(The "Choice" command has returned as a more powerful version in Vista.)Conditional branching with "If" statementsBatch files can make decisions and choose actions that depend on conditions . This type of action makes use of a statement beginning with "If". The basic meaning of an "If" statement isIf something is true then do an action (otherwise do a different action)The second part of the statement (in parentheses) is optional. Otherwise, the system just goes to the next line in the batch file if the first condition isn't met. The actual syntax isIf (condition) (command1) Else (command2)The "Else" part is optional. The form "If not" can also be used to test if a condition is false. Note that "If" tests for true or false in the Boolean sense."If exist" statementThere is a special "If exist" statement that can be used to test for the existence of a file, followed by a command. An example would be:If exist somefile.ext del somefile.extYou can also use a negative existence test:if not exist somefile.ext echo no file"If defined" statementAnother special case is "if defined ", which is used to test for the existence of a variable . For example:if defined somevariable somecommandThis can also be used in the negative form, "if not defined"."If errorlevel" statementYet another special case is "if errorlevel", which is used to test the exit codes of the last command that was run. Various commands issue integer exit codes to denote the status of the command. Generally, commands pass 0 if the command was completed successfully and 1 if the command failed. Some commands can pass additional code values . For example,there are five exit codevalues for . These exit code values are stored in the special variable errorlevel. An example command would be:if errorlevel n somecommandwhere "n" is one of the integer exit codes. Note that the comparison is done by checking if errorlevel is greater than or equal to n. If used with "not" the comparison checks if errorlevel is less than n.Comparison operatorsIn some cases the condition to be met is obtained by comparing strings. For exampleif string1 == string2Note that the "equals" sign is written twice. This condition is met if the two strings are exactly identical, including case.To render comparisons insensitive to case, use the switch "/i". For more general comparisons, use the operators in Table I. (The operators are given in upper case in the table but they are not case-dependent.) Numerical comparisons only work with all-digit strings. Otherwise, the comparison is done alphabetically. For example "a" is less than "b". For case independence, use the switch "/i". An example command might read:if /i string1 gtr string2 somecommandWhen comparing variables that are strings, it may be best to enclose the variable name in quotes. For example, use:if "%1" == somestring somecommandThe "goto" commandGenerally, the execution of a batch file proceeds line-by-line with the command(s) on each line being run in turn. However, it is often desirable to execute a particular section of abatch file while skipping over other parts. The capability to hop to a particular section is provided by the appropriately named "goto" command (written as one word). Thetarget section is labeled with a line at the beginning that has a name with a leading colon. Thus the script looks like...goto :label...some commands:label...some other commandsExecution will skip over "some commands" and start with "some other commands". The label can be a line anywhere in the script, including before the "goto" command."Goto" commands often occur in "if" statements. For example you might have a command of the type:if (condition) goto :labelThe "End of File" (:eof) label for exiting a scriptSometimes it is desirable to terminate a script if a certain condition is met (or not met). One way to exit is to use the special label :eofin a goto command. The label is not actually placed in the batch file. Windows XP and later recognize :eof without any label explicitly placed at the end of the batch file. Thus if you need to test for a particular condition that makes script termination desirable, you can write:if (condition) goto :eofNote that this terminates the script but does not necessarily close the command shell.Looping with "If" and "Goto"An ancient method for doing repetitive tasks uses a counter,"if" statements, and the "goto" command. The counter determines how many times the task is repeated, the "if" statement determines when the desired number of repetitions has been reached, and the "goto" command allows for an appropriate action to be executed, either the repetitive task or exiting. Generally, the more elegant methods provided by the powerful "for...in...do" command are preferable and they are discussed . However, for completeness and to illustrate some of what we have discussed, I will give an example that uses the clumsier method.The simple script below creates the numbers 1 to 99 and sends them to a file. It uses the to create a variable that is also the counter for how many times we have iterated.@echo offset /a counter=0:numbersset /a counter=%counter%+1if %counter% ==100 (goto :eof) else (echo %counter% >> E:\count.txt)goto :numbers(Best programming practice would dictate that the variable %counter% be localized or destroyed at the end but for simplicity I have omitted the several extra lines needed to do that. As written, this environment variable would persist until the command shell itself, not just the script, was closed.)In anticipation, I can note that the same result as the script above can be achieved with a two-line script using the "for" statement discussed :@echo offfor /l %%X in (1,1,99) do (echo %%X >> E:\count.txt)The very useful "for...in...do" statement is discussedtake further action based on what the initial output was.。
Windows_XP_CMD_命令带注释_CMD命令大全
\\computername 指定远程计算机。 如果省略这个参数,
会计划在本地计算机上运行命令。
id 指定给已计划命令的识别号。
/delete 删除某个已计划的命令。如果省略 id,
键入 CD 驱动器: 显示指定驱动器中的当前目录。
不带参数只键入 CD,则显示当前驱动器和目录。
使用 /D 命令行开关,除了改变驱动器的当前目录之外,
还可改变当前驱动器。
如果扩展命令名被启用,CHDIR 会如下改变:
当前的目录字符串会被转换成使用磁盘名上的大小写。所以,
如果磁盘上的大小写如此,CD C : \TEMP 会将当前目录设为
*********************
AT
计划在计算机上运行的命令和程序。
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "command"
计算机上所有已计划的命令都会被删除。
/yes 不需要进一步确认时,跟删除所有作业
的命令一起使用。
time 指定运行命令的时间。
/interactive 允许作业在运行时,与当时登录的用户
F 完全控制
/D user 拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。
也可以在命令中指定多个用户。
缩写:
CI - 容器继承。
ACE 会由目录继承。
OI - 对象继承。
批处理常用命令及用法大全_-__打印
注:如果对某一命令还不是很熟悉,可以在命令行窗口下输入:命令名/?的方式来获得帮助。
1 echo 和 @回显控制命令@ #关闭单行回显echo off #从下一行开始关闭回显@echo off #从本行开始关闭回显。
一般批处理第一行都是这个echo on #从下一行开始打开回显echo #显示当前是 echo off 状态还是 echo on 状态echo. #输出一个"回车换行",一般就是指空白行echo hello world #输出hello world"关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果批处理开始和结束时,系统都会自动打开回显2 errorlevel程序返回码echo %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否执行成功默认值为0,一般命令执行出错会设 errorlevel 为13 dir显示目录中的文件和子目录列表dir #显示当前目录中的文件和子目录dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件dir c: /a:d #显示 C 盘当前目录中的目录dir c:\ /a:-d #显示 C 盘根目录中的文件dir d:\mp3 /b/p #逐屏显示 d:\mp3 目录里的文件,只显示文件名,不显示时间和大小dir *.exe /s显示当前目录和子目录里所有的.exe文件其中 * 是通配符,代表所有的文件名,还一个通配符 ? 代表一个任意字母或汉字如 c*.* 代表以 c 开头的所有文件?.exe 代表所有文件名是一个字母的.exe文件如果指定的目录或文件不存在,将返回 errorlevel 为1;每个文件夹的 dir 输出都会有2个子目录 . 和 ... 代表当前目录.. 代表当前目录的上级目录dir . #显示当前目录中的文件和子目录dir .. #显示当前目录的上级目录中的文件和子目录其它参数可参考 dir /?4 cd更改当前目录cd mp3 #进入当前目录中的mp3 目录cd .. #进入当前目录中的上级目录cd\ #进入根目录cd #显示当前目录cd /d d:\mp3 #可以同时更改盘符和目录cd "Documents and Settings"\All users文件名带空格,路径前需要加上引号!!如果更改到的目录不存在,则出错返回 errorlevel=15 md创建目录md abc #在当前目录里建立子目录 abcmd d:\a\b\c #如果 d:\a 不存在,将会自动创建6 rd删除目录rd abc #删除当前目录里的 abc 子目录,要求为空目录rd /s/q d:\temp #删除 d:\temp 文件夹及其子文件夹和文件,不需要按 Y 确认7 del删除文件del d:\test.txt #删除指定文件,不能是隐藏、系统、只读文件del *.*删除当前目录里的所有文件,不包括隐藏、系统、只读文件,要求按 Y 确认del /q/a/f d:\temp\*.*删除 d:\temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录del /q/a/f/s d:\temp\*.*删除 d:\temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录8 ren文件重命名ren 1.txt 2.bak #把 1.txt 更名为 2.bak ren *.txt *.ini #把当前目录里所有.txt文件改成.ini文件ren d:\temp tmp #支持对文件夹的重命名9 cls清屏10 type显示文件内容type c:\boot.ini #显示指定文件的内容,程序文件一般会显示乱码type *.txt #显示当前目录里所有.txt文件的内容11 copy拷贝文件XCOPY复制组文件COPY复制文件拷贝目录和文件——xcopy在拷贝单个文件时,可以使用copy命令完成,但当我们要成批拷贝文件,甚至连同子目录一起拷贝时,就要用到xcopy。
Windows 批处理大全
Windows 批处理大全批处理文件是无格式的文本文件,它包含一条或多条命令。
它的文件扩展名为 .bat 或 .cmd。
在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。
使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。
当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到的用批处理文件来给系统打补丁、批量植入后门程序等。
下面就开始我们批处理学习之旅吧。
一.简单批处理内部命令简介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你不明白的话,先跳过去,后面会有详细的解释。
批处理常用命令
批处理常用命令一、什么是批处理命令1.1 批处理命令的定义批处理是一种自动化执行一系列命令的方法。
它允许用户将一组命令以脚本的形式保存到一个文件中,并通过执行该文件来一次性执行这些命令。
批处理可以大大节省用户的时间和精力,尤其是当需要重复执行某些任务时。
1.2 批处理命令的用途批处理命令可以用于各种不同的用途,例如:•批量重命名文件或文件夹•执行定期备份操作•批量安装或卸载软件•执行系统维护任务•批量修改配置文件等二、Windows平台常用批处理命令2.1 常用的批处理命令以下是一些在Windows平台上常用的批处理命令:•@echo off: 关闭命令回显,使得在执行批处理文件时不在屏幕上显示命令的具体内容。
•echo: 输出文本信息到屏幕上。
•set: 设置或清除环境变量的值。
•if: 条件判断语句,用于根据条件执行不同的命令。
•for: 循环语句,用于对一组文件或一组数据进行操作。
•goto: 跳转语句,用于跳转到指定的标签处继续执行命令。
•call: 调用其他批处理文件或程序。
•pause: 暂停批处理的执行,等待用户按下任意键继续执行。
•exit: 结束批处理的执行。
2.2 批处理命令的基本语法批处理命令的基本语法如下:command [parameters]其中,command表示具体的命令名称,parameters表示命令的参数。
2.3 批处理命令的实例演示下面是一些常见的批处理命令的实例演示:2.3.1 批量重命名文件或文件夹@echo offset /p folder=请输入文件夹路径:set /p prefix=请输入文件名前缀:set /a count=1for /r %folder% %%f in (*) do (ren "%%~f" "%prefix%_!count!.%%~xf"set /a count+=1)echo 文件重命名完成!pause2.3.2 执行定期备份操作@echo offset source=C:\dataset backup=D:\backupset timestamp=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6, 2%xcopy %source% %backup%\%timestamp% /E /C /I /H /R /Yecho 备份完成!pause2.3.3 批量安装或卸载软件@echo offset /p program=请输入要安装或卸载的软件名称:set /p path=请输入安装或卸载文件的路径:if exist "%path%\%program%.exe" (start /wait "%path%\%program%.exe" /installecho 软件安装或卸载完成!) else (echo 安装或卸载文件不存在!)pause2.4 批处理命令的注意事项在使用批处理命令时,需要注意以下几点:•配置环境变量:在使用某些批处理命令之前,可能需要首先设置相关的环境变量,以确保命令能够正确执行。
windows批处理命令详解及脚本实例[精选]doc
批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
第一部分:批处理内部命令1、REMREM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。
例:REM 你现在看到的就是注解,这一句将不会被执行。
在以后的例子中解释的内容都REM 会放在REM后面。
请大家注意。
2、ECHOECHO 是一个回显命令主要参数有OFF和ON,一般用ECHO message来显示一个特定的消息。
例:Echo offRem 以上代表关闭回显即不显示所执行的命令Echo 这个就是消息。
Rem 以上代表显示"这就是消息"这列字符执行结果:C:\>ECHO.BAT这个就是消息。
3、GOTOGOTO 即为跳转的意思。
在批处理中允许以":XXX"来构建一个标号然后用GOTO :标号直接来执行标号后的命令。
例:LABELREM 上面就是名为LABEL的标号。
DIR C:\DIR D:\GOTO LABELREM 以上程序跳转标号LABEL处继续执行。
4、CALLCALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。
例:批处理2.BAT内容如下:ECHO 这就是2的内容批处理1.BAT内容如下:ECHO 这是1的内容CALL 2.BATECHO 1和2的内容全部显示完成执行结果如下:C:\>1.BAT这是1的内容这就是2的内容1和2的内容全部显示完成5、PAUSEPAUSE 停止系统命令的执行并显示下面的内容。
例:C:\> PAUSE请按任意键继续. . .6、IFIF 条件判断语句,语法格式如下:IF [NOT] ERRORLEVEL number commandIF [NOT] string1==string2 commandIF [NOT] EXIST filename command说明:[NOT] 将返回的结果取反值即"如果没有"的意思。
建立批处理文件
建立批处理文件
批处理文件是一种可以自动执行多个命令或操作的脚本文件,使用批处理文件可以节省时间和减少输入错误。
以下是建立批处理文件的步骤:
1. 打开记事本或其他文本编辑器。
2. 输入你要执行的命令或操作,每个命令或操作占一行。
例如,如果你要创建一个批处理文件来备份文件夹,你可以输入以下命令:
xcopy C:Folder D:Backup /s /e
pause
3. 保存文件时,选择“所有文件”并输入文件名,文件名的扩展名为.bat,例如backup.bat。
4. 将文件保存在你的计算机上,例如桌面或D盘根目录。
5. 双击.bat文件,批处理文件将开始执行。
注意:在编写批处理文件时,请确保命令正确无误,并注意文件路径和文件名的拼写。
此外,建议在批处理文件的最后加上“pause”命令,这样执行完毕后会暂停,以便你查看执行结果。
- 1 -。
dos批处理语法
FOR /F ['options'] %variable IN ('string') DO command
FOR /F ['options'] %variable IN (command) DO command
3、if errorlevel / if not errorlevel 数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)
运行 Pause 命令时,将显示下面的消息:
Press any key to continue . . .
Sample:
@echo off
:begin
copy a:*.* d:back
echo Please put a new disk into driver A
pause
goto begin
在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
打开回显或关闭请求回显功能,或显示消息。
如果没有任何参数,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 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。
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 为一个或多个文件名。
继续到filenameset 中的下一个文件之前,每份文件都已被打开、读取并经过处理。
处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。
然后用已找到的符号字符串变量值调用For 循环。
以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。
跳过空白行。
您可通过指定可选"options"参数替代默认解析操作。
这个带引号的字符串包括一个或多个指定不同解析选项的关键字。
这些关键字为:eol=c - 指一个行注释字符的结尾(就一个)skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。
这个替换了空格和跳格键的默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的for 本身。
这会导致额外变量名称的格式为一个范围。
通过nth 符号指定m符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且引号字符为文字字符串命令并允许在fi中使用双引号扩起文件名称。
sample1:FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command会分析myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给for 程序体;用逗号和/或空格定界符号。
请注意,这个for 程序体的语句引用%i 来取得第二个符号,引用%j 来取得第三个符号,引用%k来取得第三个符号后的所有剩余符号。