批处理命令大全2

合集下载

批处理常用命令及用法大全

批处理常用命令及用法大全

批處理常用命令及用法大全閱讀本文需要一定的dos基礎概念,象:盤符、文件、目錄(文件夾)、子目錄、根目錄、當前目錄每個命令的完整說明請加/? 參數參考微軟的幫助文檔可以看到,在/? 幫助裏,"命令擴展名"一詞會經常出現"命令擴展名"是指相對於win98的dos版本而言,每個命令新增的功能命令測試環境win2000proSP4win98的命令功能太少,就不作研究了注:如果對某一命令還不是很熟悉,可以在命令行窗口下輸入:命令名/?的方式來獲得幫助。

例如:對dir命令的應用不熟悉,可以在命令行窗口下輸入:dir /?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創建目錄mdabc在當前目錄裏建立子目錄abcmd d:\a\b\c如果d:\a 不存在,將會自動創建6 rd刪除目錄rd abc刪除當前目錄裏的abc 子目錄,要求為空目錄rd /s/q d:\temp刪除d:\temp 文件夾及其子文件夾和文件,不需要按Y確認7 del刪除文件deld:\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.bakren *.txt *.ini把當前目錄裏所有.txt文件改成.ini文件ren d:\temp tmp支持對文件夾的重命名9 cls清屏10 type顯示文件內容type c:\boot.ini顯示指定文件的內容,程序文件一般會顯示亂碼type *.txt顯示當前目錄裏所有.txt文件的內容11 copy拷貝文件copy c:\test.txt d:\複制c:\test.txt 文件到d:\copy c:\test.txt d:\test.bak複制c:\test.txt 文件到d:\ ,並重命名為test.bakcopy c:\*.*複制c:\ 所有文件到當前目錄,不包括隱藏文件和系統文件不指定目標路徑,則默認目標路徑為當前目錄copy con test.txt從屏幕上等待輸入,按Ctrl+Z 結束輸入,輸入內容存為test.txt文件con代表屏幕,prn代表打印機,nul代表空設備copy 1.txt + 2.txt 3.txt合並 1.txt 和 2.txt 的內容,保存為3.txt 文件如果不指定3.txt ,則保存到1.txtcopy test.txt +複制文件到自己,實際上是修改了文件日期12 title設置cmd窗口的標題title 新標題可以看到cmd窗口的標題欄變了13 ver顯示系統版本14 label 和vol設置卷標vol顯示卷標label顯示卷標,同時提示輸入新卷標label c:system設置C盤的卷標為system15 pause暫停命令運行該命令時,將顯示下面的消息:請按任意鍵繼續. . .一般用於看清楚屏幕上顯示的內容16 rem 和::注釋命令注釋行不執行操作17 date 和time日期和時間date顯示當前日期,並提示輸入新日期,按"回車"略過輸入date/t只顯示當前日期,不提示輸入新日期time顯示當前時間,並提示輸入新時間,按"回車"略過輸入time/t只顯示當前時間,不提示輸入新時間18 goto 和:跳轉命令:label行首為:表示該行是標簽行,標簽行不執行操作goto label跳轉到指定的標簽那一行19 find (外部命令)查找命令find "abc" c:\test.txt在c:\test.txt 文件裏查找含abc 字符串的行如果找不到,將設errorlevel 返回碼為1find /i "abc" c:\test.txt 查找含abc 的行,忽略大小寫find /c "abc" c:\test.txt顯示含abc 的行的行數20 more (外部命令)逐屏顯示more c:\test.txt逐屏顯示c:\test.txt 的文件內容21 tree顯示目錄結構tree d:\顯示D盤的文件目錄結構22 &順序執行多條命令,而不管命令是否執行成功c: & cd\ & dir /w相當於把下面3行命令寫到1行去了c:cd\dir /w23 &&順序執行多條命令,當碰到執行出錯的命令後將不執行後面的命令f: && cd\ && dir >c:\test.txt注意如果f盤不存在,那麼後面2條命令將不會執行find "ok" c:\test.txt && echo 成功如果找到了"ok"字樣,就顯示"成功",找不到就不顯示24 ||順序執行多條命令,當碰到執行正確的命令後將不執行後面的命令find "ok" c:\test.txt || echo 不成功如果找不到"ok"字樣,就顯示"不成功",找到了就不顯示25 |管道命令前一個命令的執行結果輸出到後一個命令dir *.* /s/a | find /c ".exe"管道命令表示先執行dir 命令,對其輸出的結果執行後面的find 命令該命令行結果:輸出當前文件夾及所有子文件夾裏的.exe文件的個數type c:\test.txt|more這個和more c:\test.txt 的效果是一樣的26 > 和>>輸出重定向命令> 清除文件中原有的內容後再寫入>> 追加內容到文件末尾,而不會清除原有的內容主要將本來顯示在屏幕上的內容輸出到指定文件中指定文件如果不存在,則自動生成該文件echo hello world>c:\test.txt生成c:\test.txt文件,內容為hello world 這個格式在批處理文件裏用得很多,可以生成.reg .bat .vbs 等臨時文件type c:\test.txt >prn 屏幕上不顯示文件內容,轉向輸出到打印機echo hello world>con在屏幕上顯示hello world,實際上所有輸出都是默認>con 的copy c:\test.txt f: >nul拷貝文件,並且不顯示"文件複制成功"的提示信息,但如果f盤不存在,還是會顯示出錯信息copy c:\test.txt f: >nul 2>nul不顯示"文件複制成功"的提示信息,並且f盤不存在的話,也不顯示錯誤提示信息echo ^^W ^> ^W>c:\test.txt生成的文件內容為^W > W^ 和> 是控制命令,要把它們輸出到文件,必須在前面加個^ 符號27 <從文件中獲得輸入信息,而不是從屏幕上一般用於date time label 等需要等待輸入的命令@echo offecho 2005-05-01>temp.txtdate <temp.txtdel temp.txt這樣就可以不等待輸入直接修改當前日期28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*命令行傳遞給批處理的參數%0 批處理文件本身%1 第一個參數%9 第九個參數%* 從第一個參數開始的所有參數在C盤根目錄新建test.bat,內容如下:@echo offecho %0echo %1echo %2echo %*運行cmd,輸入c:\test.bat "/a" /b /c /d可以看出每個參數的含意修改test.bat內容如下@echo offecho %1echo %~1echo %0echo %~f0echo %~d0echo %~p0echo %~n0echo %~x0echo %~s0e cho %~a0echo %~t0echo %~z0再運行cmd,輸入c:\test.bat "/a" /b /c /d可以參照call/? 或for/? 看出每個參數的含意注意這裏可以對文件進行日期比較和大小比較echo load "%%1" "%%2">c:\test.txt生成的文件內容為load "%1" "%2"批處理文件裏,用這個格式把命令行參數輸出到文件31 set設置變量引用變量可在變量名前後加% ,即%變量名%set顯示目前所有可用的變量,包括系統變量和自定義的變量echo %SystemDrive%顯示系統盤盤符。

最全批处理命令学习资料【完美版】

最全批处理命令学习资料【完美版】

一:批处理文件批处理文件是扩展名为·bat或·cmd的文本文件,包含一条或多条命令,由DOS或Windows系统内嵌的命令解释器来解释运行。

批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。

二:常用命令:1.echo 和 @:@ #关闭单行回显echo off #从下一行开始关闭回显@echo off #从本行开始关闭回显,一般批处理第一行都是这个echo on #从下一行开始打开回显echo #显示当前是 echo off 状态还是 echo on 状态echo. #输出一个”回车换行”,空白行#(同echo, echo; echo+ echo[ echo] echo/ echo")2.errorlevelecho %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码默认值为0,一般命令执行出错会设 errorlevel 为1目录操作类命令:3.dir 显示磁盘目录命令dir #显示当前目录中的文件和子目录dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件dir c: /a:d #显示 C 盘当前目录中的目录dir c: /a:-d #显示 C 盘根目录中的文件dir c:" /b/p #/b只显示文件名,/p分页显示dir c:" /b/p #/w不显示详细信息dir *.exe /s #显示当前目录和子目录里所有的.exe文件4.以树形显示当前路径文件夹结构tree /f #显示每个文件夹中文件的名字。

建立子目录md d:"a"b"c #如果 d:"a 不存在,将会自动创建中级目录#如果命令扩展名被停用,则需要键入 mkdir "a"b"c 改变当前目录(进入)cd \ #进入根目录cd #显示当前目录cd /d d:\sdk #可以同时更改盘符和目录cd .. #返回上一级目录删除子目录命令rd abc #删除当前目录里的 abc 子目录,要求为空目录rd /s/q d:\temp #删除 d:"temp 文件夹及其子文件夹和文件/q安静模式磁盘操作类命令:磁盘格式化命令检查磁盘当前状态命令建立磁盘卷标命令显示磁盘卷标命令文件操作类命令:12.copy 文件复制命令copy c:\ d:\复制 c:\ 文件到 d:\ ,并重命名为copy con从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为文件con代表屏幕,prn代表打印机,nul代表空设备copy +合并和的内容,保存为文件如果不指定,则保存到copy +复制文件到自己,实际上是修改了文件日期13.xcopy 目录复制命令xcopy c:\ d:\14.ren 文件改名命令ren d:\temp tmp #支持对文件夹的重命名15.attrib 修改文件属性命令attrib filename #查看文件属性+ #设置属性- #清除属性r #只读文件a #存档文件s #系统文件H #隐藏文件/S #处理当前文件夹及其所有子文件夹中的匹配文件/D #处理文件夹16.type 显示文件内容type c:\ #显示指定文件的内容,程序文件一般会显示乱码type *.txt #显示当前目录里所有.txt文件的内容17.del 删除文件命令del d:\ #删除指定文件,不能是隐藏、系统、只读文件del /q/a/f d:"temp"*.* #删除 d:"temp 文件夹里面的所有文件包括隐藏、只读、系统文件,不包括子目录del /q/a/f/s d:"temp"*.* #删除 d:"temp 及子文件夹里面的所有文件包括隐藏、只读、系统文件,不包括子目录其他命令:18.CLS 清屏幕命令19.ver 查看系统版本号命令20.time,date 系统时钟日期设置/显示命令date #显示当前日期,并提示输入新日期,按""回车""略过输入date/t #只显示当前日期,不提示输入新日期time #显示当前时间,并提示输入新时间,按""回车""略过输入time/t #只显示当前时间,不提示输入新时间21.rem 和 :: 注释注释行不执行操作22.color 设置默认的控制台前景和背景颜色逻辑命令:23.goto 和 :跳转命令:label #行首为:表示该行是标签行,标签行不执行操作goto label #跳转到指定的标签那一行24.set 定义变量引用变量可在变量名前后加 % ,即 %变量名%set #显示目前所有可用的变量,包括系统变量和自定义的变量echo %SystemDrive% #显示系统盘盘符。

批处理命令大全

批处理命令大全

的字符串的。 %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

bat批处理命令大全1234

bat批处理命令大全1234

echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。

echo 表示显示此命令后的字符echo off 表示在此语句后所有运行的命令都不显示命令行本身@ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。

call 调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令)pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的批处理命令大全(一)第一部分:批处理的专用命令批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BA T。

这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。

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 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。

批处理语法大全

批处理语法大全

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

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

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

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

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

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

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

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

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

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

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

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

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

批处理命令教程大全

批处理命令教程大全

目录第一章批处理基础第一节常用批处理内部命令简介1、REM 和::2、ECHO 和@3、PAUSE4、ERRORLEVEL5、TITLE6、COLOR7、mode 配置系统设备8、GOTO 和:9、FIND10、START11、assoc 和ftype12、pushd 和popd13、CALL14、shift15、IF16、setlocal 与变量延迟(ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION启动或停用延缓环境变量扩展名。

)17、A TTRIB显示或更改文件属性第二节常用特殊符号1、@命令行回显屏蔽符2、%批处理变量引导符3、> 重定向符4、>>重定向符5、<、>、<& 重定向符6、|命令管道符7、^转义字符8、组合命令9、& 组合命令10、||组合命令11、\"\"字符串界定符12、, 逗号13、; 分号14、() 括号15、! 感叹号第二章FOR命令详解一、基本格式二、参数/d仅为目录三、参数/R递归(文件名)四、参数/L迭代数值范围五、参数/F迭代及文件解析第三章FOR命令中的变量一、~I- 删除任何引号(\"),扩展%I二、%~fI- 将%I 扩展到一个完全合格的路径名三、%~dI- 仅将%I 扩展到一个驱动器号四、%~pI- 仅将%I 扩展到一个路径五、%~nI- 仅将%I 扩展到一个文件名六、%~xI- 仅将%I 扩展到一个文件扩展名七、%~sI- 扩展的路径只含有短名八、%~aI- 将%I 扩展到文件的文件属性九、%~tI- 将%I 扩展到文件的日期/时间十、%~zI- 将%I 扩展到文件的大小十一、%~$PATH:I第四章批处理中的变量一、系统变量二、自定义变量第五章set命令详解一、用set命令设置自定义变量二、用set命令进行简单计算三、用set命令进行字符串处理1、字符串替换2、字符串截取第六章if命令讲解第一种用法:IF [NOT] ERRORLEVEL number command第二种用法:IF [NOT] string1==string2 command第三种用法:IF [NOT] EXIST filename command第四种用法:IF增强的用法第七章DOS编程高级技巧一、界面设计二、if…else…条件语句三、循环语句四、子程序五、用ftp命令实现自动下载六、用7-ZIP实现命令行压缩和解压功能七、调用VBScript程序八、将批处理转化为可执行文件九、时间延迟1、利用ping命令延时2、利用for命令延时3、利用vbs延迟函数,精确度毫秒,误差1000毫秒内4、仅用批处理命令实现任意时间延迟,精确度10毫秒,误差50毫秒内十、模拟进度条十一、特殊字符的输入及应用十二、随机数(%random%)的应用技巧十三、变量嵌套与命令嵌套1、更正了所有的错别字,适当排版,增加条理性。

bat批处理命令大全

bat批处理命令大全

bat批处理命令大全BAT批处理命令大全。

批处理文件是一种包含一系列操作命令的文本文件,它们可以自动执行一系列任务,这些任务可以是一些常规的操作、系统管理任务或者其他需要重复执行的任务。

在Windows系统中,批处理文件使用的是BAT扩展名,它们可以通过命令提示符或者直接双击运行来执行其中的命令。

本文将介绍BAT批处理命令的一些常见用法,以及一些常用的批处理命令。

1. ECHO命令。

ECHO命令用于在屏幕上显示文本或者关闭显示。

在批处理文件中,可以使用ECHO命令来输出一些提示信息或者显示执行结果。

例如:```。

ECHO Hello, World!```。

这条命令会在屏幕上显示“Hello, World!”。

如果想关闭显示,可以使用ECHO OFF命令。

2. PAUSE命令。

PAUSE命令用于暂停批处理文件的执行,直到用户按下任意键。

这在需要用户确认或者等待的情况下非常有用。

例如:```。

ECHO Press any key to continue...PAUSE。

这样就会在屏幕上显示“Press any key to continue...”,并且等待用户按下任意键后继续执行。

3. IF命令。

IF命令用于根据条件来执行不同的命令。

它可以用于判断文件是否存在、变量的值等情况。

例如:```。

IF EXIST file.txt (。

ECHO file.txt exists。

) ELSE (。

ECHO file.txt does not exist。

)。

```。

这条命令会判断当前目录下是否存在file.txt文件,如果存在则输出“file.txt exists”,否则输出“file.txt does not exist”。

4. FOR命令。

FOR命令用于循环执行一系列命令。

它可以用于遍历文件、目录、字符串等。

例如:```。

FOR /L %i IN (1,1,10) DO (。

ECHO %i。

```。

这条命令会输出1到10的数字。

批处理常用命令大全

批处理常用命令大全
netstat -n 查看端口的网络连接情况,常用netstat -an
netstat -v 查看正在进行的工作
netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况)
netstat -s 查看正在使用的所有协议使用情况
kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
del -F 文件名 加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件
path 路径\可执行文件的文件名 为可执行文件设置一个路径。
cmd 启动一个win2K命令解释窗口。参数:/eff、/en 关闭、开启命令扩展;更我详细说明见cmd /?
regedit /s 注册表文件名 导入注册表;参数/S指安静模式导入,无任何提示;
regedit /e 注册表文件名 导出注册表
ping -t -l 65550 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)
ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用参数“/all”显示全部配置信息
tlist -t 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

批处理命令大全批处理命令详解最近好多猜测弱口令的病毒在网上流行,比如前段时间闹得很厉害的Worm.Dvldr 蠕虫就是一个典型。

这些病毒有个共同点就是利用批处理来进行ipc$连接,从而来猜测管理员的口令达到控制服务器的目的。

病毒由几个文件和几个复杂的批处理组成。

批处理算不上真正意义上的编程,但是它的一些思想和编程比较近似。

通过在网上和一些初学的朋友交流,发现他们对于批处理很感兴趣,多多少少了解一些命令的用法,但缺乏比较系统的了解,所以特意写下这篇教程,好让感兴趣的朋友对批处理有个整体的认识,并能通过该教程举一反三,写出自己的批处理。

该教程一共分为4大部分,第一部分是批处理的专用命令,第二部分是特殊的符号与批处理,第三部分是批处理与变量,第四部分是完整案例。

因为教程比较长,所有在杂志上我们将分为两次连载,本期首先刊登一、二两部分,敬请读者注意。

第一部分:批处理的专用命令批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为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] 将返回的结果取反值即“如果没有”的意思。

ERRORLEVEL 是命令执行完成后返回的退出值Number 退出值的数字取值范围0~255。

判断时值的排列顺序应该又大到小。

返回的值大于或等于指定的值时条件成立。

string1==string2 string1和string2都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是2个(绝对相等),条件想等后即执行后面的 commandEXIST filename 为文件或目录存在的意思。

IF ERRORLEVEL这条语句必须放在某一个命令后面。

执行命令后由IF ERRORLEVEL来判断命令的返回值。

例:1、 IF [NOT] ERRORLEVEL number command检测命令执行完后的返回值做出判断。

echo offdir z:rem 如果退出代码为1(不成功)就跳至标题1处执行IF ERRORLEVEL 1 goto 1rem 如果退出代码为0(成功)就跳至标题0处执行IF ERRORLEVEL 0 goto 0:0echo 命令执行成功!Rem 程序执行完毕跳至标题exit处退出goto exit:1echo 命令执行失败!Rem 程序执行完毕跳至标题exit处退出goto exit:exitRem 这里是程序的出口2、 IF string1==string2 command检测当前变量的值做出判断ECHO OFFIF %1==2 goto noEcho 变量相等!Goto exit:noecho 变量不相等goto exit:exit大家可以这样看效果 C:\>test.bat 数字3、 IF [NOT] EXIST filename command发现特定的文件做出判断echo offIF not EXIST autoexec.bat goto 1echo 文件存在成功!goto exit:1echo 文件不存在失败!goto exit:exit这个批处理大家可以放在c盘和d盘分别执行看看效果。

7、 FORFOR这个命令比较特殊是一个循环执行命令的命令,同时FOR的循环里面还可以套用FOR在进行循环。

这篇我们介绍基本的用法就不做套用的循环了,后面再来讲解套用的循环。

在批处理中FOR的命令如下:FOR [%%c] IN (set) DO [command] [arguments]在命令行中命令如下:FOR [%c] IN (set) DO [command] [arguments]常用参数:/L 该集表示以增量形式从开始到结束的一个数字序列。

因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生序列 (5 4 3 2 1)。

/D 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。

/F 从指定的文件中读取数据作为变量eol=c - 指一个行注释字符的结尾(就一个)skip=n - 指在文件开始时忽略的行数。

delims=xxx - 指分隔符集。

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

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

这会导致额外变量名称的分配。

m-n格式为一个范围。

通过 nth 符号指定 mth。

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

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

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

请注意,这个 for 程序体的语句引用 %i 来取得第二个符号,引用 %j 来取得第三个符号,引用 %k来取得第三个符号后的所有剩余符号。

对于带有空格的文件名,您需要用双引号将文件名括起来。

为了用这种方式来使用双引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。

%i 专门在 for 语句中得到说明,%j 和 %k 是通过tokens= 选项专门得到说明的。

您可以通过 tokens= 一行指定最多 26 个符号,只要不试图说明一个高于字母‘z’ 或’Z’ 的变量。

请记住,FOR 变量名分大小写,是通用的;而且,同时不能有 52 个以上都在使用中。

您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,用单引号将括号之间的filenameset 括起来。

这样,该字符串会被当作一个文件中的一个单一输入行。

最后,您可以用 FOR /F 命令来分析命令的输出。

方法是,将括号之间的 filenameset 变成一个反括字符串。

该字符串会被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进内存,并被当作文件分析。

因此,以下例子:FOR /F “usebackq delims==” %i IN (`set`) DO @echo %i会枚举当前环境中的环境变量名称。

以下列举一个简单的例子,他将说明参数/L和没有参数的区别:删除文件1.TXT 2.TXT 3.TXT 4.TXT 5.TXT例:ECHO OFFFOR /L %%F IN (1,1,5) DO DEL %%F.TXT或FOR %%F IN (1,2,3,4,5) DO DEL %%F.TXT以上2条命令执行的结果都是一样的如下:C:\>DEL 1.TXTC:\>DEL 2.TXTC:\>DEL 3.TXTC:\>DEL 4.TXTC:\>DEL 5.TXT8、 SETLOCAL开始批处理文件中环境改动的本地化操作。

在执行 SETLOCAL 之后所做的环境改动只限于批处理文件。

要还原原先的设置,必须执行 ENDLOCAL。

达到批处理文件结尾时,对于该批处理文件的每个尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。

例:@ECHO OFFSET PATH /*察看环境变量PATHPAUSESETLOCALSET PATH=E:\TOOLS /*重新设置环境变量PATHSET PATHPAUSEENDLOCALSET PATH从上例我们可以看到环境变量PATH第1次被显示得时候是系统默认路径。

被设置成了E:\TOOLS后显示为E:\TOOLS但当ENDLOCAL后我们可以看到他又被还原成了系统的默认路径。

但这个设置只在该批处理运行的时候有作用。

当批处理运行完成后环境变量PATH将会还原。

9、 SHIFTSHIFT命令可以让在命令上的的命令使用超过10个(%0~%9)以上的可替代参数例:ECHO OFFECHO %1 %2 %3 %4 %5 %6 %7 %8 %9SHIFTECHO %1 %2 %3 %4 %5 %6 %7 %8 %9SHIFTECHO %1 %2 %3 %4 %5 %6 %7 %8 %9执行结果如下:C::\>SHIFT.BAT 1 2 3 4 5 6 7 8 9 10 111 2 3 4 5 6 7 8 92 3 4 5 6 7 8 9 103 4 5 6 7 8 9 10 11以上就是基于WIN2000下的9个批处理命令。

第二部分:特殊的符号与批处理在命令行下有些符号是不允许使用的但有些符号却有着特殊的意义。

1、符号(@)@在批处理中的意思是关闭当前行的回显。

相关文档
最新文档