CMD命令行高级教程精选合编---第二章 DOS循环:for命令详解
- 格式:doc
- 大小:38.50 KB
- 文档页数:12
批处理FOR命令详解-就是这里-51CTO技术博客批处理FOR命令详解 2009-06-03 18:16:48标签:批处理 for对所有的批处理初学者来说,for的应用是最难理解以及掌握的。
本文由浅入深,为大家专门讲解for的用法,希望大家喜欢。
首先应该明确的是,for不是一个简单的命令,它的用法比较复杂,它还可以带四个参数(/L /D /R /F),其中:/L和/F参数是最经常用到的。
当然,它本身也可以不带参数,下面我们通过具体的例子来讲解for的运用。
一、不带参数的for:将以上代码保存为批处理文件(如何保存?),然后运行,可以发现屏幕上显示1 2 3 4 5(每字一行)是不是明白了一些?它的整个运行机制我们可以这样看:for不停的从括号中拿出5个“东西”来(以空格做间隔),并将这5个“东西”依次传给临时变量%%i,同时把这个变量echo出来....从这个例子我们可以看出,for的基本用法是:for 变量 in (目标) do 干什么?变量常用%%i 来表示,当然也可以换成%%j;目标就是待处理的对象集合,比如这里的1 2 3 4 5;这里的干什么的内容为:批处理命令。
【相关习题:】将你的名字用for命令分三行显示出来二、带参数 /L 的for (这里的参数/L 可以理解为 "list" 的意思,代表一个数列)先看测试代码:复制内容到剪贴板代码:显示结果也为:1 2 3 4 5(每字一行)它的意思和上面的意思差不多,但是括号中的对象却不需要写成1 2 3 4 5 的形式了,而是:1 1 5,因为它启用了参数 /L ,就是告诉for,这个括号里的对象是个数列,怎样的数列?就是以 1 开始,步长为1 ,结束值为5的一个等差数列,再举个实例:复制内容到剪贴板代码:::显示从 10 - 20 的所有偶数:【相关习题:】显示 1~20 间能被5整除的整数三、带参数 /f 的for(这里的参数/F可以理解为“file”的意思,代码处理对象为文本串)参考教程:for 命令 /f 参数通俗讲解四、for的 /D 和/R 参数(这两个参数个人比较少用)1>/D参数(常用来查询当前目录或者指定目录的文件夹)基本用法:FOR /D %variable IN (set) DO command [command-parameters]如:查询F盘根目录下的文件夹复制内容到剪贴板代码:夹假设本批处理文件保存在:F:\test下运行以下批处理代码,将会查询 F:\test下的文件夹复制内容到剪贴板代码:/r参数基本用法:FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]检查以[drive:]path 为根的目录树中,所有符合(set)的文件或者文件夹。
CMD命令行高级教程精选合编目录第一章批处理基础第一节常用批处理内部命令简介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、ATTRIB 显示或更改文件属性第二节常用特殊符号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、更正了所有的错别字,适当排版,增加条理性。
DOS批处理命令For循环命令详解for命令是⼀种对⼀系列对象依次循环执⾏同⼀个或多个命令的在命令⾏或批处理中运⾏的命令,结合⼀些Windows管理中的程序后,其处理功能强⼤、应⽤灵活⽅便程度令⼈刮⽬相看。
但是,其帮助信息也因此复杂往往令初学者望⽽⽣畏,这⾥根据本⼈的学习理解,把其⽤法分解简化,疏忽和错误也许在所难免。
基本格式(这⾥写的是在命令⾏⾥⽤的格式,如果是在批处理中,需要把其中%再多加个%形成%%):for /参数 %变量 in (集) do 命令(注:上⾯除中⽂的以外,其余的是按它的格式要求书写的,⼤⼩写都⾏)参数:FOR分四种参数 D L R F,并且有的参数还可附加另外的选项下⾯会分别介绍变量:(记住如果是在批处理中使⽤for命令时,变量前的%需改为%%)这个变量名是由单个字母组成且区分⼤⼩写(原帮助是这么说的,实际运⽤中⽤单个数字作为变量名试过证明也可⾏),如%B和%b代表的是不同的变量。
FOR命令会在每次循环中,把in (集)中读取到的值赋于这个变量,以便其后的命令中引⽤。
集:由系列⽂件、字符串或由命令产⽣的内容形成的集合(当然可⽤通配符 * ?,还可引⽤环境变量),FOR命令是按⼀定顺序和规律分次读取集中内容,赋值给变量,并执⾏do后的命令,进⾏循环下⼀轮,直⾄集中内容读取完毕,⽽括号是格式必须的(in到后⾯括号之间要有空格)。
命令:可以是任何合格的DOS命令或外部可被DOS调⽤的程序,且可采⽤括号把多条命令括起来,在⼀次循环中执⾏。
附注:由于⼀些⽬录或⽂件名可能会有空格,所以很多时候集⾥和命令⾥往往需要⽤英⽂引号括起来(但有时引号⾥的内容可能会被认为是字符串)表⽰是⼀整体,下⾯开始的有些例中为简捷起见,忽略⽂件名或⽬录名带空格这种情况。
现在按参数分类举例解释其⽤法:⼀、参数 /dfor /d %%变量 in (集) do 命令/d 参数是指定仅对⽬录⽽不是⽂件执⾏的for命令。
批处理命令行中for循环基本用法for循环是在办公自动化中非常实用的语句之一,本节讨论DOS语言中for循环的各种模式:如/r,/d,/l,/f等,以及各种参数:如tokens,delims,usebackq等的基本用法。
我们须要根据实际情况选择不同的模式和参数来配置for循环以达到我们的目的。
1、【for语句的常规用法】形式1:for %%i in (字符串集合/数字列表/…) do 命令语句@echo offfor %%i in (aa,bb,cc) do echo %%ipause结果为:aabbcc注:这里如果用点进行分割,字符串会作为一个整体输出如果用逗号分割,则会一次一个单次进行打印。
判断某个磁盘是否存在,如果盘符存在,则输出它:@echo offecho 存在有驱动器:for %%i in (a,b,c,d,e,f,g) if exist %%i: echo %%ipause显示当前目录下的文件名称(非文件夹,文件夹将不会被列出):@echo offfor %%i in (*.*) do echo "%%i"pause仅显示当前目录下的txt文件名称(通配符*.txt的用法):@echo offfor %%i in (*.txt) do echo "%%i"pause把txt换成其他扩展名亦可仅列出其他格式的文件名仅显示当前目录下的txt文件名称(通配符?规定字符个数):@echo offfor %%i in (??.txt) do echo "%%i"pause仅会输出当前目录下文件名为2个字符的txt文件名2、【关于for语句的/f模式(遍历文件内容模式)】①/f模式/f模式用于遍历文件中的内容:@echo offfor /f %%i in (test.txt) do echo %%ipause运行的结果,会逐行打印test.txt文件中的内容②delims参数(表示分隔符)使用delims提取每一行在特定符号之前的内容;当设置delims为逗号(,)时,只显示每一行逗号之前内容;@echo offfor /f "delims=," %%i in (test.txt) do echo %%i pause如果识别切分的符号有多个,则可以直接继续在第一个后面写,例如:"delims=.,"此时会先判定是否有英文句号,如果没有则再判断有没有英文逗号。
For指令在cmd提示符下的高级应用2For指令在cmd提示符下的高级应用廖德伟江西萍乡高等专科学校计算机系,337055 摘要:For指令当作迭代循环使用,在很多程序语言中都是常用的一条指令,但很少有人去把它直接应用到cmd提示符下。
其实For指令是一个高效实用的网络管理工具。
本文就For指令来展开它的实用技巧,以具体实例的方式来切实解决在日常应用中遇到的问题或技术瓶颈,借此来了解For指令的强大功能。
Abstract:It is very common that use the FOR instructions as recycling in many programming languages. However, very few people apply the FOR instructionsunder CMD directly. In fact,we could use the FOR instructions as an importanttool to safeguard and manage the internet.This article is focused on expandingthe practical skills of the FOR instructions,and gives us some effective waysto solve our problems or technical bottlenecks.Furthermore,this articlewill make us understand the power of the FOR instructions.关键词:FOR;ACL;迭代;遍历;批处理;中图法分类号:TP39 文献标识码:A目前网络管理员普遍使用网上下载的工具软件来进行管理和维护,忽略了For指令的重要功能。
其实For指令在UNIX环境下使用起来非常灵活,但是初学者一般对UNIX系统接触很少。
批处理命令——for【1】for命令简介 先把for循环与for命令类⽐⼀下,这样学习理解快。
for 循环语句,⼀般格式如下:1for (表达式1;表达式2;表达式3)2 {3循环体;4 } 1. 表达式1 ⼀般为初始状态赋值表达式,给控制变量赋初值。
2. 表达式2 ⼀般为关系表达式或逻辑表达式,为循环控制条件。
3. 表达式3 ⼀般为每次执⾏循环体后向控制变量重新赋值的表达式(给控制变量增量或减量)。
4. 语句:循环体,⼀般为复合语句(即可能需要执⾏多条语句)。
举个实例:1for (int i=0; i < 100; ++i)2 {3 cout << i << endl;4 } for 命令,⼀般格式如下: 在cmd窗⼝中使⽤格式:FOR %variable IN (set) DO command [command-parameters] 在批处理脚本中使⽤格式:FOR %%variable IN (set) DO command [command-parameters] 1. 在cmd窗⼝中使⽤,变量名必须⽤单%引⽤(即:%variable);在批处理脚本中使⽤,变量名必须⽤双%引⽤(即:%%variable)。
2. for、in和do是for命令的三个关键字,缺⼀不可。
3. 关键字in之后,do之前的括号不能省略。
举个实例:新建⼀个⽂本⽂件,命名为fordemo,修改⽂件类型为bat,⽤Notepad++打开编辑内容为:1@echo off2for %%i in (1 2 3 4 5) do@echo %%i3pause>nul 执⾏结果: 嗯哼,原来for命令就这么简单?嗨,同学,不要浮躁,保持冷静,更要理智。
下⾯,且看对上例语句的分析: 从命令组成结构由左向右剖析,除过关键字,依次分别为: 1. 变量名为i,i太简单,作为变量名不具备见名知意的特点。
cmd 循环语句摘要:1.CMD 循环语句概述2.CMD 循环语句的基本语法3.CMD 循环语句的应用示例正文:【1.CMD 循环语句概述】在编程语言中,循环语句是一种控制流程的方式,可以重复执行一段代码,直到满足特定条件。
在CMD(命令提示符)中,循环语句是一种非常常见的控制结构,用于处理批处理文件和自动化任务。
CMD 循环语句可以帮助用户在批处理文件中实现重复执行特定操作的功能,从而简化复杂的任务流程。
【2.CMD 循环语句的基本语法】CMD 循环语句的基本语法如下:```for /f "delims=" %a in (set) do (echo %a)```其中,`for`是循环关键字,`/f`表示使用文件,`"delims="`表示分隔符为空格,`%a`是循环变量,`(set)`表示要处理的文件集,`do`表示开始执行循环体,`echo %a`是循环体内容,用于输出循环变量的值。
【3.CMD 循环语句的应用示例】下面是一个CMD 循环语句应用示例,用于输出批处理文件中所有文件的扩展名:```@echo offsetlocal enabledelayedexpansionfor /f "delims=" %a in ("dir /b /a:-d") do (echo!a:~-4!)```在这个示例中,`@echo off`表示关闭回显,`setlocal enabledelayedexpansion`表示启用延迟变量扩展,`for /f "delims=" %a in ("dir /b /a:-d")`表示使用`dir`命令列出当前目录下所有文件(不包括子目录),并将文件名传递给循环变量`%a`。
`!a:~-4!`表示对循环变量的扩展名进行处理,输出文件的扩展名。
通过这个示例,用户可以了解CMD 循环语句的基本用法和应用场景。
第二章 DOS循环:for命令详解一、基本格式FOR %%variable IN (set) DO command [command-parameters] %%variable 指定一个单一字母表示可替换的参数。
(set) 指定一个或一组文件。
可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters为特定命令指定参数或命令行开关。
参数:FOR有4个参数 /d /l /r /f 他们的作用我在下面用例子解释现在开始讲每个参数的意思二、参数 /dFOR /D %%variable IN (set) DO command [command-parameters] 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
如果 Set (也就是我上面写的 "相关文件或命令") 包含通配符(* 和 ?),将对与Set 相匹配的每个目录(而不是指定目录中的文件组)执行指定的 Command。
这个参数主要用于目录搜索,不会搜索文件,看这样的例子@echo offfor /d %%i in (c:\*) do echo %%ipause运行会把C盘根目录下的全部目录名字打印出来,而文件名字一个也不显示!在来一个,比如我们要把当前路径下文件夹的名字只有1-3个字母的打出来@echo offfor /d %%i in (???) do echo %%ipause这样的话如果你当前目录下有目录名字只有1-3个字母的,就会显示出来,没有就不显示了这里解释下*号和?号的作用,*号表示任意N个字符,而?号只表示任意一个字符知道作用了,给大家个思考题目!@echo offfor /d %%i in (window?) do echo %%ipause保存到C盘下执行,会显示什么呢?自己看吧! 显示:windows/D参数只能显示当前目录下的目录名字,这个大家要注意!三、参数 /RFOR /R [[drive:]path] %%variable IN (set) DO command [command-parameters] 检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。
cmd中for用法CMD中的for语句是一种非常强大的命令,可以用于循环遍历一个列表或执行一些特定的操作。
for语句的语法格式如下:for %%parameter in (set) do command其中,%%parameter表示参数变量,set表示需要遍历的列表,command表示需要执行的操作。
具体用法如下:1. 循环遍历文件夹中的所有文件和子文件夹:for /r 'path' %%a in (*) do command其中,path表示需要遍历的文件夹路径,*表示所有文件和子文件夹,command表示需要执行的操作。
2. 循环遍历文件夹中的所有文件:for %%a in ('path*') do command其中,path表示需要遍历的文件夹路径,*表示所有文件,command 表示需要执行的操作。
3. 循环遍历一个固定的列表:for %%a in (list) do command其中,list表示需要遍历的列表,command表示需要执行的操作。
4. 循环遍历一段数字范围:for /l %%a in (start, step, end) do command其中,start表示起始数值,step表示步长,end表示终止数值,command表示需要执行的操作。
5. 循环遍历一个字符串:for /f 'delims=' %%a in ('echo string') do command 其中,string表示需要遍历的字符串,command表示需要执行的操作。
通过以上几种for语句的使用方法,我们可以在CMD中灵活运用for命令来实现各种复杂的操作。
DOS之for循环⽤法说明Windows bat脚本的for语句基本形态如下:1 2在cmd窗⼝中:for%I in(command1) do command2在批处理⽂件中:for%%I in(command1) do command2之所以要区分cmd窗⼝和批处理⽂件两种环境,是因为在这两种环境下,命令语句表现出来的⾏为虽然基本⼀样,但是在细节上还是稍有不同,最明显的⼀个差异就是:在cmd窗⼝中,for之后的形式变量I必须使⽤单百分号引⽤,即%I;⽽在批处理⽂件中,引⽤形式变量I必须使⽤双百分号,即%%I。
为了⽅便起见,若不是特别强调,以下的讲解都以批处理⽂件环境为例。
我们先来看⼀下for语句的基本要素都有些什么:1. for、in、do 是for语句的关键字,它们三个缺⼀不可;2. %%I是for语句中对形式变量的引⽤,即使变量l在do后的语句中没有参与语句的执⾏,也是必须出现的;3. in之后,do之前的括号不能省略;4. command1表⽰字符串或变量,command2表⽰字符串、变量或命令语句;下⾯来看⼀个Windows bat脚本的demo(记为demo1):1 2 3@echo offfor%%I in(ABC) do echo%%I pause保存为.bat⽂件(批处理⽂件)并执⾏,将会在弹出的批处理窗⼝中看到这样的信息:对批处理⽂件的for循环就是这样简单,下⾯来看看for语句的注意事项,并运⾏更复杂的for循环实例。
for语句的形式变量I,可以换成26个字母中的任意⼀个,这些字母会区分⼤⼩写,也就是说,%%I和%%i会被认为不是同⼀个变量;形式变量I还可以换成其他的字符,但是,为了不与批处理中的%0~%9这10个形式变量发⽣冲突,请不要随意把%%I替换为%%0~%%9中的任意⼀个;in和do之间的command1表⽰的字符串或变量可以是⼀个,也可以是多个,每⼀个字符串或变量,我们称之为⼀个元素,每个元素之间,⽤空格键、跳格键、逗号、分号或等号分隔;for语句依次提取command1中的每⼀个元素,把它的值赋予形式变量I,带到do后的command2中参与命令的执⾏;并且每次只提取⼀个元素,然后执⾏⼀次do后的命令语句,⽽⽆论这个元素是否被带到command2中参与了command2的运⾏;当执⾏完⼀次do后的语句之后,再提取command1中的下⼀个元素,再执⾏⼀次command2,如此循环,直到command1中的所有元素都已经被提取完毕,该for语句才宣告执⾏结束。
CMD命令行中“FOR”命令的使用方法FOR命令是 Windows 命令提示符(CMD)中的一个重要命令,用于执行一个或多个命令多次,通常用于遍历文件、目录或命令行参数。
FOR命令非常灵活,可以用于多种情况,包括文件处理、环境变量设置和自动化任务。
以下是一些FOR命令的基本用法:1. 遍历文件FOR /F "delims=" %%i IN ('dir /b') DO (ECHO %%i)这个例子中,FOR循环遍历当前目录中的所有文件和子目录,dir /b命令用于仅列出文件名,不显示文件属性或其他信息。
2. 使用通配符遍历文件FOR /F "delims=" %%i IN ('dir /b *.txt') DO (ECHO %%i)这个例子中,FOR循环遍历当前目录中所有以.txt结尾的文件。
3. 遍历环境变量FOR /F "skip=2 delims=" %%i IN ('set') DO (ECHO %%i)这个例子中,FOR循环遍历所有的环境变量,从第二个变量开始(通常系统变量从第一个开始)。
4. 遍历命令行参数FOR /F "delims=" %%i IN ('%*') DO (ECHO %%i)这个例子中,FOR循环遍历命令行中的所有参数。
5. 使用特定分隔符遍历文件FOR /F "delims=," %%i IN ('dir /b *.txt') DO (ECHO %%i)这个例子中,FOR循环使用逗号作为分隔符来遍历文件,这在文件名中包含空格时很有用。
6. 使用 ENUM 选项遍历数字FOR /F "enumextens=on" %%i IN ('dir /b') DO (ECHO %%i)这个例子中,FOR循环使用enumextens=on选项来枚举数字扩展,即如果文件名以数字开头,FOR循环会以数字的递增顺序遍历。
DOS批处理命令:for循环详细说明及例子详细说明及例子:对一组文件中的每一个文件执行某个特定命令普通格式:FOR %variable IN (set) DO command [command-parameters] •%variable 指定一个单一字母可替换的参数。
•(set) 指定一个或一组文件。
可以使用通配符。
•command 指定对每个文件执行的命令。
•command-parameters 为特定命令指定参数或命令行开关。
在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。
变量名称是区分大小写的,所以 %i 不同于 %I.范例:如c:/temp/myfile.txt内容如下,共4行•;a1,a2,a3,a4,a5•b1,b2,b3,b4,b5•c1 c2 c3 c4 c5•d1,d2,d3,d4,d5例:for %i in (my*) do @echo %i 结果:myfile.txt (显示文件名)扩展格式:FOR /D %variable IN (set) DO command [command-parameters]如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配(只搜索指定目录下的目录,不再搜索指定目录下的目录的子目录,不搜索文件名)。
例:for /d %i in (*) do @echo %i 结果:是当前目录下的目录FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
如果在 /R 后没有指定目录规范,则使用当前目录。
如果集仅为一个单点(.)字符,则枚举该目录树。
例:for /r %i in (*.txt) do @echo %i 列举当前目录下的所有txt 文件:不指定目录即为当前目录例:for /r . %i in (.) do @echo %i 列举当前目录下的所有目录,含子目录:例:for /r . %i in (5.txt) do @echo %i 列举当前目录下所有5.txt 的文件:注意“子目录”下没此文件,但依然列出来了,因为“子目录”-“电影2”下有5.txt文件例:for /r c:/tmp %i in (5.txt) do @echo %i 列举c:/tmp目录下所有的5.txt文件,但此目录及子目录下根本没有5.txt文件,结果列出来了目录结构FOR /L %variable IN (start,step,end) DO command [command-parameters]该集表示以增量形式从开始到结束的一个数字序列。
cmd命令⾏⼤全dos命令cmd命令整理net use ipipc$ " " /user:" " 建⽴IPC空链接net use ipipc$ "密码" /user:"⽤户名" 建⽴IPC⾮空链接net use h: ipc$ "密码" /user:"⽤户名" 直接登陆后映射对⽅C:到本地为H:net use h: ipc$ 登陆后映射对⽅C:到本地为H:net use ipipc$ /del 删除IPC链接net use h: /del 删除映射对⽅到本地的为H:的映射net user ⽤户名 密码 /add 建⽴⽤户net user guest /active:yes 激活guest⽤户net user 查看有哪些⽤户net user 帐户名查看帐户的属性net localgroup administrators ⽤户名 /add 把“⽤户”添加到管理员中使其具有管理员权限,注意:administrator后加s⽤复数net start 查看开启了哪些服务net start 服务名 开启服务;(如:net start telnet, net start schedule)net stop 服务名停⽌某服务net time ⽬标ip 查看对⽅时间net time ⽬标ip /set 设置本地计算机时间与“⽬标IP”主机的时间同步,加上参数/yes可取消确认信息net view 查看本地局域⽹内开启了哪些共享net view ip 查看对⽅局域⽹内开启了哪些共享net config 显⽰系统⽹络设置net logoff 断开连接的共享net pause 服务名暂停某服务net send ip "⽂本信息" 向对⽅发信息net ver 局域⽹内正在使⽤的⽹络连接类型和信息net share 查看本地开启的共享net share ipc$ 开启ipc$共享net share ipc$ /del 删除ipc$共享net share c$ /del 删除C:共享net user guest 12345 ⽤guest⽤户登陆后⽤将密码改为12345net password 密码更改系统登陆密码netstat -a 查看开启了哪些端⼝,常⽤netstat -annetstat -n 查看端⼝的⽹络连接情况,常⽤netstat -annetstat -v 查看正在进⾏的⼯作netstat -p 协议名例:netstat -p tcq/ip 查看某协议使⽤情况(查看tcp/ip协议使⽤情况)netstat -s 查看正在使⽤的所有协议使⽤情况nbtstat -A ip 对⽅136到139其中⼀个端⼝开了的话,就可查看对⽅最近登陆的⽤户名(03前的为⽤户名)-注意:参数-A要⼤写tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”⽤于设置超时间隔。
cmd 循环语句
循环语句是编程语言中的一种基本结构,用于重复执行一段代码直到满足指定条件为止。
在命令提示符(cmd)中,循环语句可以通过使用批处理脚本来实现。
在cmd中,常见的循环语句有for循环和while循环。
1. for循环:使用for命令可以按照指定的方式来循环执行一系列命令。
常见的for循环形式有三种:
- for /l:用于按照指定的起始值、终止值和步长来循环执行一系列命令。
- for /f:用于按行读取指定文件或命令的输出,并对每行内容进行处理。
- for /r:用于按照指定路径及其子文件夹中的文件进行递归遍历,并对每个文件进行处理。
2. while循环:在cmd中没有内置的while循环语句,但可以通过if语句结合goto命令来实现类似的循环。
具体步骤如下:
-设置一个标签(label),用于指定循环的入口。
-使用if语句来判断循环条件是否满足,如果满足则继续执行循环体内的命令,否则跳转到循环结束的标签。
-在循环体内添加要执行的命令。
-使用goto命令将控制跳转到设置的标签,实现循环。
正如上面所提到的,cmd中的循环语句相对比较简单,如果需要更复杂的循环逻辑,可能需要使用其他编程语言或使用批处理脚本结合其他工具来实现。
此外,循环语句的使用需要注意避免无限循环,即出现循环条件始终为真的情况,导致程序陷入死循环。
Win XP(包括2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。
小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。
第一部分:文件和目录操作命令Attrib Batch Chdir (Cd) Copy Delete (Del)Expand Mkdir (md)Rmdir (Rd)TypeMore第二部分:系统和磁盘操作命令Bootcfg hkdsk Diskpart Fixboot Fixmbr format Map第三部分:辅助操作和特殊功能命令Cls Disable Enable Exit Help commandname Listsvc Logon Net useSet SystemrootAttrib更改单个文件或目录的属性。
该命令设置或删除指派给文件或目录的只读、系统、存档、隐藏以及压缩属性。
含有下列参数的attrib 命令仅当使用故障恢复控制台时才可用。
含有不同参数的attrib命令可在命令提示符中使用。
attrib [ +r|-r] [ +s|-s] [ +h|-h] [ +c|-c] [ [ drive:] [ path] filename]参数+r 设置只读属性。
-r 清除只读属性。
+s 设置系统属性。
-s 清除系统属性。
+h 设置隐藏属性。
-h 清除隐藏属性。
+c 设置压缩属性。
-c 清除压缩属性。
[ [ drive:] [ path] filename]指定要处理的目录或文件的位置和名称。
可以一次只更改一个文件,也可以更改整个目录。
注意:可以用一个命令更改一个文件或目录的多个属性。
Batch执行在文本文件中指定的命令。
batch 命令仅在使用故障恢复控制台时才可用。
故障恢复控制台可以从安装CD 中启动。
batch input_file [ output_file]参数input_file指定包含要执行的命令列表的文本文件。
最全的cmd命令大全介绍windows电脑常用的cmd命令汇总一.运行cmd命令的方法介绍1、我们先使用键盘上的快捷键“Win+R”打开运行窗口;2、在里面输入“cmd”就可打开cmd的命令窗口了;二.ows电脑运行cmd命令大全介绍1、gpedit.msc-----组策略;2、sndrec32-------录音机;3、Nslookup-------IP地址侦测器 ;4、explorer-------打开资源管理器;5、logoff---------注销命令;6、shutdown-------60秒倒计时关机命令;7、lusrmgr.msc----本机用户和组;8、services.msc---本地服务设置;9、oobe/msoobe /a----检查XP是否激活;10、notepad--------打开记事本;11、cleanmgr-------垃圾整理;12、net start messenger----开始信使服务;13、pmgmt.msc---计算机管理;14、net stop messenger-----停止信使服务;15、conf-----------启动netmeeting;16、dvdplay--------DVD播放器;17、charmap--------启动字符映射表;18、diskmgmt.msc---磁盘管理实用程序;19、calc-----------启动计算器;20、dfrg.msc-------磁盘碎片整理程序;21、chkdsk.exe-----Chkdsk磁盘检查;22、devmgmt.msc--- 设备管理器;23、regsvr32 /u *.dll----停止dll文件运行;24、drwtsn32------ 系统医生;25、rononce -p----15秒关机;26、dxdiag---------检查DirectX信息;27、regedt32-------注册表编辑器;28、Msconfig.exe---系统配置实用程序;29、rsop.msc-------组策略结果集;30、mem.exe--------显示内存使用情况;31、regedit.exe----注册表;32、winchat--------XP自带局域网聊天;33、progman--------程序管理器;34、winmsd---------系统信息;35、perfmon.msc----计算机性能监测程序;36、winver---------检查Windows版本;37、sfc /scannow-----扫描错误并复原;38、taskmgr-----任务管理器(2000/xp/2003);39、wmimgmt.msc----打开windows管理体系结构(WMI);40、wupdmgr--------windows更新程序;41、wscript--------windows脚本宿主设置;42、write----------写字板;43、wiaacmgr-------扫描仪和照相机向导;44、winchat--------XP自带局域网聊天;45、mspaint--------画图板;46、mstsc----------远程桌面连接;47、magnify--------放大镜实用程序;48、mmc------------打开控制台;49、mobsync--------同步命令;50、iexpress-------木马捆绑工具,系统自带;51、fsmgmt.msc-----共享文件夹管理器;52、utilman--------辅助工具管理器;53、dcnfg-------打开系统组件服务;54、ddeshare-------打开DDE共享设置;55、osk------------打开屏幕键盘;56、ntbackup-------系统备份和还原;57、ntmsmgr、msc----移动存储管理器;58、ntmsoprq、msc---移动存储管理员操作请求;59、netstat -an----(TC)命令检查接口;60、syncapp--------创建一个公文包;61、sysedit--------系统配置编辑器;62、sigverif-------文件签名验证程序;63、ciadv、msc------索引服务程序;64、shrpubw--------创建共享文件夹;65、secpol、msc-----本地安全策略;66、syskey---------系统加密;67、services、msc---本地服务设置;68、Sndvol32-------音量控制程序;69、sfc、exe--------系统文件检查器;70、sfc /scannow---windows文件保护;71、ciadv、msc------索引服务程序;72、tourstart------xp简介;73、taskmgr--------任务管理器;74、eventvwr-------事件查看器;75、eudcedit-------造字程序;76、pmgmt、msc---计算机管理;77、packager-------对象包装程序;78、perfmon、msc----计算机性能监测程序;79、charmap--------启动字符映射表;80、cliconfg-------SQL SERVER 客户端网络实用程序;81、Clipbrd--------剪贴板查看器;82、conf-----------启动netmeeting;83、certmgr、msc----证书管理实用程序;84、regsvr32 /u *、dll----停止dll文件运行;85、regsvr32 /u zipfldr、dll------取消ZIP支持;86、cmd、exe--------CMD命令提示符;。
For指令在cmd提示符下的高级应用廖德伟江西萍乡高等专科学校计算机系,337055摘要:For指令当作迭代循环使用,在很多程序语言中都是常用的一条指令,但很少有人去把它直接应用到cmd提示符下。
其实For指令是一个高效实用的网络管理工具。
本文就For指令来展开它的实用技巧,以具体实例的方式来切实解决在日常应用中遇到的问题或技术瓶颈,借此来了解For指令的强大功能。
Abstract:It is very common that use the FOR instructions as recycling in many programming languages. However, very few people apply the FOR instructions under CMD directly.In fact,we could use the FOR instructions as an important tool to safeguard and managethe internet.This article is focused on expanding the practical skills of the FORinstructions,and gives us some effective ways to solve our problems ortechnical bottlenecks.Furthermore,this article will make us understand the powerof the FOR instructions.关键词:FOR;ACL;迭代;遍历;批处理;中图法分类号:TP39 文献标识码:A目前网络管理员普遍使用网上下载的工具软件来进行管理和维护,忽略了For指令的重要功能。
其实For指令在UNIX环境下使用起来非常灵活,但是初学者一般对UNIX系统接触很少。
CMD命令行高级教程精选合编---第二章DOS循环:for命令详解第二章DOS循环:for命令详解讲FOR之前呢,咋先告诉各位新手朋友,如果你有什么命令不懂,直接在CMD下面输入:name /? 这样的格式来看系统给出的帮助文件,比如for /? 就会把FOR 命令的帮助全部显示出来!当然许多菜鸟都看不懂....所以才会有那么多批处理文章!!!!俺也照顾菜鸟,把FOR命令用我自己的方式说明下!正式开始:一、基本格式FOR %%variable IN (set) DO command [command-parameters]%%variable 指定一个单一字母表示可替换的参数。
(set) 指定一个或一组文件。
可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters为特定命令指定参数或命令行开关。
参数:FOR有4个参数/d /l /r /f 他们的作用我在下面用例子解释现在开始讲每个参数的意思二、参数/dFOR /D %%variable IN (set) DO command [command-parameters]如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
如果Set (也就是我上面写的"相关文件或命令") 包含通配符(* 和?),将对与Set 相匹配的每个目录(而不是指定目录中的文件组)执行指定的Command。
这个参数主要用于目录搜索,不会搜索文件,看这样的例子@echo offfor /d %%i in (c:\*) do echo %%ipause运行会把C盘根目录下的全部目录名字打印出来,而文件名字一个也不显示!在来一个,比如我们要把当前路径下文件夹的名字只有1-3个字母的打出来@echo offfor /d %%i in (???) do echo %%ipause这样的话如果你当前目录下有目录名字只有1-3个字母的,就会显示出来,没有就不显示了这里解释下*号和?号的作用,*号表示任意N个字符,而?号只表示任意一个字符知道作用了,给大家个思考题目!@echo offfor /d %%i in (window?) do echo %%ipause保存到C盘下执行,会显示什么呢?自己看吧! 显示:windows/D参数只能显示当前目录下的目录名字,这个大家要注意!三、参数/RFOR /R [[drive:]path] %%variable IN (set) DO command [command-parameters]检查以[drive:]path 为根的目录树,指向每个目录中的FOR 语句。
如果在/R 后没有指定目录,则使用当前目录。
如果集仅为一个单点(.)字符,则枚举该目录树。
递归上面我们知道,/D只能显示当前路径下的目录名字,那么现在这个/R也是和目录有关,他能干嘛呢?放心他比/D强大多了!他可以把当前或者你指定路径下的文件名字全部读取,注意是文件名字,有什么用看例子!请注意2点:1、set中的文件名如果含有通配符(?或*),则列举/R参数指定的目录及其下面的所用子目录中与set相符合的所有文件,无相符文件的目录则不列举。
2、相反,如果set中为具体文件名,不含通配符,则枚举该目录树(即列举该目录及其下面的所有子目录),而不管set中的指定文件是否存在。
这与前面所说的单点(.)枚举目录树是一个道理,单点代表当前目录,也可视为一个文件。
例:@echo offfor /r c:\ %%i in (*.exe) do echo %%ipause咱们把这个BAT保存到D盘随便哪里然后执行,我会就会看到,他把C 盘根目录,和每个目录的子目录下面全部的EXE文件都列出来了!!!! 例:@echo offfor /r %%i in (*.exe) do @echo %%ipause参数不一样了吧!这个命令前面没加那个C:\也就是搜索路径,这样他就会以当前目录为搜索路径,比如你这个BAT你把他放在d:\test目录下执行,那么他就会把D:\test目录和他下面的子目录的全部EXE文件列出来!!!例:@echo offfor /r c:\ %%i in (boot.ini) do echo %%ipause运行本例发现枚举了c盘所有目录,为了只列举boot.ini存在的目录,可改成下面这样:@echo offfor /r c:\ %%i in (boot.ini) do if exist %%i echo %%ipause用这条命令搜索文件真不错。
这个参数大家应该理解了吧!还是满好玩的命令!四、参数/LFOR /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)。
使用迭代变量设置起始值(Start#),然后逐步执行一组范围的值,直到该值超过所设置的终止值(End#)。
/L 将通过对Start# 与End# 进行比较来执行迭代变量。
如果Start# 小于End#,就会执行该命令。
如果迭代变量超过End#,则命令解释程序退出此循环。
还可以使用负的Step# 以递减数值的方式逐步执行此范围内的值。
例如,(1,1,5) 生成序列 1 2 3 4 5,而(5,-1,1) 则生成序列(5 4 3 2 1)。
语法是:看着这说明有点晕吧!咱们看例子就不晕了!@echo offfor /l %%i in (1,1,5) do @echo %%ipause保存执行看效果,他会打印从1 2 3 4 5 这样5个数字(1,1,5)这个参数也就是表示从1开始每次加1直到5终止!等会晕,就打印个数字有P用...好的满足大家,看这个例子@echo offfor /l %%i in (1,1,5) do start cmdpause执行后是不是吓了一跳,怎么多了5个CMD窗口,呵呵!如果把那个(1,1,5)改成(1,1,65535)会有什么结果,我先告诉大家,会打开65535个CMD窗口....这么多你不死机算你强!当然我们也可以把那个start cmd改成md %%i 这样就会建立指定个目录了!!!名字为1-65535看完这个被我赋予破坏性质的参数后,我们来看最后一个参数五、参数/F\迭代及文件解析使用文件解析来处理命令输出、字符串及文件内容。
使用迭代变量定义要检查的内容或字符串,并使用各种options选项进一步修改解析方式。
使用options令牌选项指定哪些令牌应该作为迭代变量传递。
请注意:在没有使用令牌选项时,/F 将只检查第一个令牌。
文件解析过程包括读取输出、字符串或文件内容,将其分成独立的文本行以及再将每行解析成零个或更多个令牌。
然后通过设置为令牌的迭代变量值,调用for 循环。
默认情况下,/F 传递每个文件每一行的第一个空白分隔符号。
跳过空行。
详细的帮助格式为:FOR /F ["options"] %%variable IN (file-set) DO command [command-parameters]FOR /F ["options"] %%variable IN ("string") DO command [command-parameters]FOR /F ["options"] %%variable IN ('command') DO command [command-parameters]带引号的字符串"options"包括一个或多个指定不同解析选项的关键字。
这些关键字为:eol=c - 指一个行注释字符的结尾(就一个)skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。
这个替换了空格和跳格键的默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的for 本身。
这会导致额外变量名称的分配。
m-n格式为一个范围。
通过nth 符号指定mth。
如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。
经测试,该参数最多只能区分31个字段。
usebackq - 使用后引号(键盘上数字1左面的那个键`)。
未使用参数usebackq时:file-set表示文件,但不能含有空格双引号表示字符串,即"string"单引号表示执行命令,即'command'使用参数usebackq时:file-set和"file-set"都表示文件当文件路径或名称中有空格时,就可以用双引号括起来单引号表示字符串,即'string'后引号表示命令执行,即`command`以上是用for /?命令获得的帮助信息,直接复制过来的。
晕惨了!我这就举个例子帮助大家来理解这些参数!For命令例1:****************************************@echo offrem 首先建立临时文件test.txtecho ;注释行,这是临时文件,用完删除>test.txtecho 11段12段13段14段15段16段>>test.txtecho 21段,22段,23段,24段,25段,26段>>test.txtecho 31段-32段-33段-34段-35段-36段>>test.txtFOR /F "eol=; tokens=1,3* delims=,- " %%i in (test.txt) doecho %%i %%j %%kPauseDel test.txt运行显示结果:11段13段14段15段16段21段23段24段,25段,26段31段33段34段-35段-36段请按任意键继续. . .为什么会这样?我来解释:eol=; 分号开头的行为注释行tokens=1,3* 将每行第1段,第3段和剩余字段分别赋予变量%%i,%%j,%%kdelims=,- (减号后有一空格)以逗号减号和空格为分隔符,空格必须放在最后For命令例2:****************************************@echo offFOR /F "eol= delims=" %%i in (test.txt) do echo %%iPause运行将显示test.txt全部内容,包括注释行,不解释了哈。