.bat 重定向用法 -回复
Batch 语言学习

扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。
==== 注=======================================.bat是dos下的批处理文件.cmd是nt内核命令行环境的另一种批处理文件从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。
所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都是一样的,只不过应用的范围和解释的平台各有不同而已。
甚至有些应用程序仍然沿用批处理这一称呼,而其内容和扩展名与dos的批处理却又完全不同。
===================================首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS 提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
==== 注===================批处理文件中完全可以使用非dos命令,甚至可以使用不具有可执行特性的普通数据性文件,这缘于windows系统这个新型解释平台的涉入,使得批处理的应用越来越"边缘化"。
所以我们讨论的批处理应该限定在dos环境或者命令行环境中,否则很多观念和设定都需要做比较大的变动。
========================其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。
当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。
批处理大全

目录导航【课程热身】1楼:什么是批处理2、简单批处理命令简介3、批处理符号简介4、常用DOS命令5、语句结构6、字符串处理7、数值计算8、概念方法【300个现成程序自选超市】9、系统类(36)10、系统信息查询&修改(19)11、系统优化(14)12、文件创建&改名等操作(29)13、网络类(10)15、BAT收集(32)16、大型&综合性脚本(8)17、格式转换(9)18、获取路径(8)19、其它类(31)20、网络类(10)21、数值计算(18)【一、什么是批处理】批处理(Batch),也称为批处理脚本。
顾名思义,批处理就是对某对象进行批量的处理。
批处理文件的扩展名为 bat 。
目前比较常见的批处理包含两类:DOS批处理和PS批处理。
PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。
这里要讲的就是DOS批处理。
批处理是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是或者CMD.EXE)解释运行。
类似于Unix中的Shell脚本。
批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。
更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。
如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。
批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。
在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。
cmd中的特殊符号

cmd中的特殊符号2007年05月31日星期四 00:46@\\隐藏命令的回显。
~\\在for中表示使用增强的变量扩展;在set中表示使用扩展环境变量指定位置的字符串;在set/a中表示按位取反。
%\\使用两个%包含一个字符串表示引用环境变量。
比如一个%time%可以扩展到当前的系统时间;单个%紧跟0-9的一个数字表示引用命令行参数;用于for中表示引用循环变量;连续的两个%表示执行时脱为一个%。
^\\取消转义字符,即将所有转义字符的转义作用关闭。
比如要在屏幕显示一些特殊的字符,比如> >> | ^等时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了;在set/a中是按位异;在findstr/r的[]中表示不匹配指定的字符集。
&\\命令连接字符。
比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令;在set/a中是按位与。
*\\代表任意个任意字符,就是我们通常所说的"通配符";比如想在c盘的根目录查找c盘根目录里所有的文本文件(.txt),那么就可以输入命令"dirc:\*.txt";在set/a中是乘法。
比如"set/a x=4*2",得到的结果是8;在findstr/r中表示将前一个字符多次匹配。
()\\命令包含或者是具有优先权的界定符吧,比如for命令要用到这个(),我们还可以在if,echo等命令中见到它的身影;-\\范围表示符,比如日期的查找,for命令里的tokens操作中就可以用到这个字符;在findstr/r中连接两个字符表示匹配范围;-跟在某些命令的/后表示取反向的开关。
+\\主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件,就要用到这个+字符了;在set/a中是加法。
|\\管道符。
就是将上一个命令的输出,作为下一个命令的输入."dir /a/b | more"就可以逐屏的显示dir命令所输出的信息;在set/a中是按位或;在帮助文档中表示其前后两个开关、选项或参数是二选一的。
批处理基础知识

第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BA T或者CMD。
这些命令统称批处理命令。
小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。
了解了大概意思后,我们正式开始学习.先看一个简单的例子!@echo offecho "欢迎来到非常BA T!"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 与变量延迟介绍命令1、REM 和::REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
其次, :: 也可以起到rem 的注释作用, 而且更简洁有效; 但有两点需要注意:第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。
bat语法

先举个简单的例子: 让电脑每天在指定时间关机,可以用下面方法打开记事本,写入以下内容: at 22:59 shutdown -s -f -t 3 保存为shutdown.bat文件,双击执行即可(如果希望每天如此,就把它放在启动文件夹里) 下面说说bat的常用命令echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。
==== 注=========== 首先, @ 不是一个命令, 而是DOS 批处理的一个特殊标记符, 仅用于屏蔽命令行回显. 下面是DOS命令行或批处理中可能会见到的一些特殊标记符: CR(0D) 命令行结束符Escape(1B) ANSI转义字符引导符Space(20) 常用的参数界定符Tab(09) ; = 不常用的参数界定符+ COPY命令文件连接符* ? 文件通配符"" 字符串界定符| 命令管道符< > >> 文件重定向符@ 命令行回显屏蔽符/ 参数开关引导符: 批处理标签引导符% 批处理变量引导符其次, :: 确实可以起到rem 的注释作用, 而且更简洁有效; 但有两点需要注意: 第一, 除了:: 之外, 任何以:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容, 只是为了与正常的标号相区别, 建议使用goto 所无法识别的标号, 即在:后紧跟一个非字母数字的一个特殊符号. 第二, 与rem 不同的是, ::后的字符行在执行时不会回显, 无论是否用echo on打开命令行回显状态, 因为命令解释器不认为他是一个有效的命令行, 就此点来看, rem 在某些场合下将比:: 更为适用; 另外, rem 可以用于config.sys 文件中. ===================== echo 表示显示此命令后的字符echo off 表示在此语句后所有运行的命令都不显示命令行本身@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
bat批处理切换到当前脚本所在文件夹

bat批处理切换到当前脚本所在⽂件夹切换到当前脚本所在的⽂件夹cd %~dp0另外附上⼀些bat基本内容——————————————————————————————批处理常⽤命令总结 - 批处理命令简介⽬录echo打开回显或关闭请求回显功能,或显⽰消息。
如果没有任何参数,echo 命令将显⽰当前回显设置。
echo [{on|off}] [message]Sample:@echo off / echo hello world在实际应⽤中我们会把这条命令和重定向符号(也称为管道符号,⼀般⽤> >> ^)结合来实现输⼊⼀些命令到特定的⽂件中。
rem注释命令,类似于在C语⾔中的/*--------*/,它并不会被执⾏,只是起⼀个注释的作⽤,便于别⼈阅读和你⾃⼰⽇后修改。
Rem MessageSample:@Rem Here is the description.pause暂停命令。
运⾏ Pause 命令时,将显⽰下⾯的消息:Press any key to continue. . .(或:请按任意键继续. . .)Sample:@echo off:begincopy G:*.* d:/backecho 请插⼊另⼀张光盘...pausegoto begin在这个例⼦中,驱动器 G 中磁盘上的所有⽂件均复制到d:/back中。
显⽰的注释提⽰您将另⼀张光盘盘放⼊驱动器 G 时,pause 命令会使程序挂起,以便您更换光盘,然后按任意键继续处理。
call从⼀个批处理程序调⽤另⼀个批处理程序,并且不终⽌⽗批处理程序。
call 命令接受⽤作调⽤⽬标的标签。
如果在脚本或批处理⽂件外使⽤Call,它将不会在命令⾏起作⽤。
call [[Drive:][Path] FileName ] [:label [arguments]]参数[Drive:}[Path] FileName指定要调⽤的批处理程序的位置和名称。
批处理中常用命令介绍(Echo、rem、goto、call、pause、if、for)

批处理中常用命令介绍(Echo、rem、goto、call、pause、if、for)一、echo命令(echo图文版)1. Echo :显示当前ECHO的状态:ECHO ON 或者ECHO OFF 。
2. ECHO ON :ECHO状态设为ON,将显示命令行(如每行前的C:\>等类似标志)。
3. ECHO OFF:CHO状态设为OFF,将不显示命令行(如每行前的C:\>等类似标志) 。
4. ECHO 字符串:将输入的字符串显示在CMD屏幕上。
5. ECHO 字符串&ECHO 字符串… :&,类似and的意思,逻辑运算,用来显示多行数据。
6. ECHO 字符串>文件路径和文件名:将字符串写入文件中,若已有数据将先清空后写入。
7. ECHO 字符串>>文件路径和文件名:将字符串写入文件中,若已有数据将追加到末尾。
注意每次:ECHO 字符串>>文件路径和文件名,命令之后,ECHO就回自动在在字符串后添加换行符,所以要想直接添加到文件末尾,那么文件中已有的数据,不能是ECHO命令先前输入的(或者手工删掉换行符)8. (ECHO 字符串&ECHO 字符串…)>文件路径和文件名:将多行数据写入文件中(注意括号不能去掉,如果括号去掉的话,那么只能写入最后一个,前面的将输出在CMD窗口中。
如果文件中已经有数据,将先自动清空后再写入。
9. (ECHO 字符串&ECHO 字符串…)>>路径和文件名将多行数据写入文件中(注意括号不能去掉,如果括号去掉的话,那么只能写入最后一个,前面的将输出在CMD窗口中。
如果文件中已经有数据,就将该字符串追加到文件的末尾。
10. (ECHO 字符串)>>文件路径和文件名:在文件中另起一行追加上字符串。
如图所示:11. ECHO.:输出空行,即相当于输入一个回车注意命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。
MS-dos命令——A系列

MS-DOS 的命令用法——A系列Arp显示和修改“地址解析协议(ARP)”缓存中的项目。
ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。
计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。
如果在没有参数的情况下使用,则arp命令将显示帮助信息。
语法arp [-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]参数-a [InetAddr] [-N IfaceAddr]显示所有接口的当前 ARP 缓存表。
要显示指定 IP 地址的 ARP 缓存项,请使用带有InetAddr参数的arp -a,此处的InetAddr代表指定的 IP 地址。
要显示指定接口的 ARP 缓存表,请使用-N IfaceAddr参数,此处的IfaceAddr代表分配给指定接口的 IP 地址。
-N参数区分大小写。
-g [InetAddr] [-N IfaceAddr]与-a相同。
-d InetAddr [IfaceAddr]删除指定的 IP 地址项,此处的InetAddr代表 IP 地址。
对于指定的接口,要删除表中的某项,请使用IfaceAddr参数,此处的IfaceAddr代表分配给该接口的IP 地址。
要删除所有项,请使用星号 (*) 通配符代替InetAddr。
-s InetAddr EtherAddr [IfaceAddr]向 ARP 缓存添加可将 IP 地址InetAddr解析成物理地址EtherAddr的静态项。
要向指定接口的表添加静态 ARP 缓存项,请使用IfaceAddr参数,此处的IfaceAddr代表分配给该接口的 IP 地址。
/?在命令提示符显示帮助。
注释∙InetAddr和IfaceAddr的 IP 地址用带圆点的十进制记数法表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.bat 重定向用法-回复
“重定向”是一种在命令行界面下使用的功能,可以将命令的输出结果发送至指定位置,而不是在屏幕上显示。
在Windows操作系统中,批处理脚本(.bat)是一种常见的脚本语言,可以用于自动化任务和批量处理。
本
文将详细介绍在批处理脚本中使用重定向的用法,为读者提供一步一步的解释和示例。
第一部分:什么是重定向?
重定向是一种重要的命令行功能,可将命令的输出结果发送到不同的位置,而不是在屏幕上显示。
在批处理脚本中,重定向可以用于将命令的输出结果保存到文件中,或者将其作为另一个命令的输入。
常用的重定向操作符有两种:标准输出重定向和标准错误重定向。
第二部分:标准输出重定向
标准输出重定向主要用于将命令的输出结果保存到文件中。
在批处理脚本中,可以使用大于符号(>)来进行标准输出重定向。
下面是一个示例:
echo Hello, World! > output.txt
上述命令将“Hello, World!”保存到名为“output.txt”的文件中。
如果文件已经存在,命令将覆盖现有内容;如果文件不存在,命令将创建新文件并写入内容。
如果你希望将输出结果追加到文件末尾而不是覆盖原有内容,可以使用双大于符号(>>)。
示例如下:
echo New line! >> output.txt
上述命令将“New line!”追加到“output.txt”文件末尾。
第三部分:标准错误重定向
与标准输出重定向类似,标准错误重定向用于将命令的错误消息保存到文件中。
在批处理脚本中,可以使用2>操作符进行标准错误重定向。
示例如下:
dir NonExistingFolder 2> error.txt
上述命令将搜索名为“NonExistingFolder”的文件夹,如果该文件夹不存在,则错误消息将保存到“error.txt”文件中。
需要注意的是,如果希望同时重定向标准输出和标准错误,可以使用&操作符。
示例如下:
dir NonExistingFolder > output.txt 2>&1
上述命令将搜索名为“NonExistingFolder”的文件夹,将标准输出和标准错误都保存到“output.txt”文件中。
第四部分:管道
在批处理脚本中,管道是一种特殊的重定向方式,用于将一个命令的输出作为另一个命令的输入。
可以使用竖线符号()进行管道操作。
下面是一个示例:
dir findstr ".txt" > files.txt
上述命令将列出当前目录下的所有文件,并将其中包含“.txt”字样的文件名保存到“files.txt”文件中。
第五部分:实际应用
批处理脚本中的重定向功能非常实用,可以用于自动化任务和批量处理。
以下是一些实际应用案例:
1. 批量处理文件:可使用重定向将多个文件的输出结果存储到一个文件中,便于批量处理。
比如,将多个文本文件合并为一个文件。
2. 日志记录:通过重定向,可以将脚本执行过程中的输出结果存储到日志
文件中,便于后续的排查和分析。
3. 调试和错误处理:将错误消息输出到文件中有助于查找和修复问题,而不会干扰用户界面。
总结:
通过本文的介绍,我们了解了批处理脚本中重定向的用法及其实际应用。
标准输出重定向和标准错误重定向可用于将命令的输出结果保存到文件,而管道操作可用于将一个命令的输出作为另一个命令的输入。
掌握重定向的用法,可以提高批处理脚本的灵活性和自动化程度,为处理大量数据和任务提供便利。