DOS批处理高级教程:第三章 FOR命令中的变量

DOS批处理高级教程:第三章 FOR命令中的变量
DOS批处理高级教程:第三章 FOR命令中的变量

FOR命令中有一些变量,他们的用法许多新手朋友还不太了解,今天给大家讲解他们的用法!

先把FOR的变量全部列出来:

~I - 删除任何引号("),扩展%I

%~fI - 将%I 扩展到一个完全合格的路径名

%~dI - 仅将%I 扩展到一个驱动器号

%~pI - 仅将%I 扩展到一个路径

%~nI - 仅将%I 扩展到一个文件名

%~xI - 仅将%I 扩展到一个文件扩展名

%~sI - 扩展的路径只含有短名

%~aI - 将%I 扩展到文件的文件属性

%~tI - 将%I 扩展到文件的日期/时间

%~zI - 将%I 扩展到文件的大小

%~$PATH:I - 查找列在路径环境变量的目录,并将%I 扩展到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩展到空字符串

我们可以看到每行都有一个大写字母"I",这个I其实就是我们在FOR带入的变量,我们FOR语句代入的变量名是什么,这里就写什么.

比如:FOR /F %%z IN ('set') DO @echo %%z

这里我们代入的变量名是z那么我们就要把那个I改成z,例如%~fI改为%~fz

至于前面的%~p这样的内容就是语法了!

好开始讲解:

一、~I - 删除任何引号("),扩展%I

这个变量的作用就如他的说明,删除引号!

我们来看这个例子:

首先建立临时文件temp.txt,内容如下

"1111

"2222"

3333"

"4444"44

"55"55"55

可建立个BAT文件代码如下:@echo off

2echo ^"1111>temp.txt

3echo "2222">>temp.txt

4echo 3333^">>temp.txt

5echo "4444"44>>temp.txt

6echo ^"55"55"55>>temp.txt

复制代码

rem 上面建立临时文件,注意不成对的引号要加转义字符^,重定向符号前不要留空格

7FOR /F "delims=" %%i IN (temp.txt) DO echo %%~i

8pause

9del temp.txt

复制代码

执行后,我们看CMD的回显如下:

1111 #字符串前的引号被删除了

2222 #字符串首尾的引号都被删除了

3333" #字符串前无引号,后面的引号保留

4444"44 #字符串前面的引号删除了,而中间的引号保留

55"55"55 #字符串前面的引号删除了,而中间的引号保留

请按任意键继续. . .

和之前temp.txt中的内容对比一下,我们会发现第1、2、5行的引号都消失了,这就是删除引号~i的作用了!

删除引号规则如下(BA T兄补充!)

1、若字符串首尾同时存在引号,则删除首尾的引号;

2、若字符串尾不存在引号,则删除字符串首的引号;

3、如果字符串中间存在引号,或者只在尾部存在引号,则不删除。

二、%~fI - 将%I 扩展到一个完全合格的路径名

看例子:

把代码保存放在随便哪个地方,我这里就放桌面吧.

10FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~fi

11pause

复制代码

执行后显示内容如下

C:\Documents and Settings\Administrator\桌面\test.bat

C:\Documents and Settings\Administrator\桌面\test.vbs

当我把代码中的%%~fi直接改成%%i

12FOR /F "delims==" %%i IN ('dir /b') DO @echo %%i

13pause

复制代码

执行后就会显示以下内容:

test.bat

test.vbs

通过对比,我们很容易就看出没有路径了,这就是"将%I 扩展到一个完全合格的路径名"的作用也就是如果%i变量的内容是一个文件名的话,他就会把这个文件所在的绝对路径打印出来,而不只单单打印一个文件名,自己动手动实验下就知道了!

三、%~dI - 仅将%I 扩展到一个驱动器号

看例子:

代码如下,我还是放到桌面执行!

14FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~di

15pause

复制代码

执行后我CMD里显示如下

C:

C:

我桌面就两个文件test.bat,test.vbs,%%~di作用是,如果变量%%i的内容是一个文件或者目录名,他就会把他这文件

或者目录所在的盘符号打印出来!

四、%~pI - 仅将%I 扩展到一个路径

这个用法和上面一样,他只打印路径不打印文件名字

FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~pi

pause

我就不打结果了,大家自己复制代码看结果吧,下面几个都是这么个用法,代码给出来,大家自己看结果吧!

五、%~nI - 仅将%I 扩展到一个文件名

只打印文件名字

16FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ni

17pause

复制代码

六、%~xI - 仅将%I 扩展到一个文件扩展名

只打印文件的扩展名

18FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~xi 19pause

复制代码

七、%~sI - 扩展的路径只含有短名

打印绝对短文件名

20FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~si 21pause

复制代码

八、%~aI - 将%I 扩展到文件的文件属性

打印文件的属性

22FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ai 23pause

复制代码

九、%~tI - 将%I 扩展到文件的日期/时间

打印文件建立的日期

24FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ti 25pause

复制代码

十、%~zI - 将%I 扩展到文件的大小

打印文件的大小

26FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~zi

27pause

复制代码

上面例子中的"delims=="可以改为"delims=",即不要分隔符

十一、%~$PATH:I - 查找列在路径环境变量的目录,并将%I 扩展到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩展到空字符串

这是最后一个,和上面那些都不一样,我单独说说!

然后在把这些代码保存为批处理,放在桌面。

28@echo off

29FOR /F "delims=" %%i IN (“notepad.exe”) DO echo %%~$PATH:i

30pause

复制代码

龙卷风补充:上面代码显示结果为C:\WINDOWS\system32\notepad.exe

他的意思就在PATH变量里指定的路径里搜索notepad.exe文件,如果有notepad.exe则会把他所在绝对路径打印出来,没有就打印一个错误!

好了,FOR的的变量就介绍到这了!

DOS批处理脚本

DOS批处理脚本 这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。. 先概述一下批处理是个什么东东。批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了;但我想总结出一个“比较合适的”,而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。或许你会因为这篇文章而“无条件爱上批处理”,那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的! 按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。 OK,never claver and get to business(闲话少说言归正传)。批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?答案:没有!)。再说句“闲话”:要学好批处理,DOS基础一定要牢!当然脑子灵活也是很重要的一方面。 例一、先给出一个最easy的批处理脚本让大家和它混个脸熟,将下面的几行命令保存为name.bat然后执行(以后文中只给出代码,保存和执行方式类似): ping https://www.360docs.net/doc/6b10475616.html, > a.txt ping https://www.360docs.net/doc/6b10475616.html, >> a.txt ping https://www.360docs.net/doc/6b10475616.html, >> a.txt ping https://www.360docs.net/doc/6b10475616.html, >> a.txt ping https://www.360docs.net/doc/6b10475616.html, >> a.txt

dos系统命令大全

常用doc命令大全 dos和windows最大的不同在于dos命令方式操作,所以使用者需要记住大量命令及其格式使用方法,dos命令分为内部命令和外部命令,内部命令是随每次启动的https://www.360docs.net/doc/6b10475616.html,装入并常驻内存,而外部命令是一条单独的可执行文件。在操作时要记住的是,内部命令在任何时候都可以使用,而外部命令需要保证命令文件在当前的目录中,或在autoexec.bat文件已经被加载了路径。 常用的内部命令 dos的内部命令是dos操作的基础,下面就来介绍一些常用的dos内部命令。 1、dir 含义:显示指定路径上所有文件或目录的信息 格式:dir [盘符:][路径][文件名] [参数] 参数: /w:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息; /p:分页显示,当屏幕无法将信息完全显示时,可使用其进行分页显示; /a:显示具有特殊属性的文件; /s:显示当前目录及其子目录下所有的文件。 举例:dir /p 将分屏显示当前目录下文件。在当前屏最后有一个“press any key to continue . . .”提示,表示按任意键继续。 2、cd 含义:进入指定目录 格式:cd [路径] 举例:cd dos cd命令只能进入当前盘符中的目录,其中“cd\”为返回到根目录,“cd..”为返回到上一层目录。 3、md 含义:建立目录 格式:md [盘符][路径] 举例:md temp 表示在当前盘符下建立一个名为temp的目录。 4、rd 含义:删除目录 格式:rd [盘符][路径] 举例:rd temp 表示删除当前路径下的temp目录,需要注意的是,此命令只能删除空目录。 5、copy 含义:拷贝文件 格式:copy [源目录或文件] [目的目录或文件] 举例1:copy c:\*.com d:\",表示将c盘根目录下所有扩展名为com的文件拷贝到d盘根目录中。 举例2:copy c:\autoexec.bat c:\autoexec.bak

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

Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭 窗口 Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法: 很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos窗口自动关闭,那么,你可以使用start命令 来执行该外部程序,而不是直接写上一行来执行。例子说明: view plain copy 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.bat view plain copy @echo off dir c:\ rem ....其它操作 exit 2、在另一个批处理中调用该批处理: view plain copy ... start /wait call test.bat ... 其实在这里就没有必要使用start /wait了,因为使用了call命令后,test.bat已经控制了流程,一定是在call结束后才会继续下一步的操作。 Start语法:启动另一个窗口运行指定的程序或命令。 view plain copy START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]

DOS批处理命令大全

写批处理 扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。 ==== willsort 编注======================================= .bat是dos下的批处理文件 .cmd是nt内核命令行环境的另一种批处理文件 从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都是一样的,只不过应用的范围和解释的平台各有不同而已。甚至有些应用程序仍然沿用批处理这一称呼,而其内容和扩展名与dos的批处理却又完全不同。 =================================== 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS 提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。 ==== willsort 题注=================== 批处理文件中完全可以使用非dos命令,甚至可以使用不具有可执行特性的普通数据性文件,这缘于wind ows系统这个新型解释平台的涉入,使得批处理的应用越来越"边缘化"。所以我们讨论的批处理应该限定在dos环境或者命令行环境中,否则很多观念和设定都需要做比较大的变动。 ======================== 其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。 ==== willsort 编注================== 批处理文件(batch file)也可以称之为批处理程序(batch program),这一点与编译型语言有所不同,就c语言来说,扩展名为c或者cpp的文件可以称之为c语言文件或者c语言源代码,但只有编译连接后的exe 文件才可以称之为c语言程序。因为批处理文件本身既具有文本的可读性,又具有程序的可执行性,这些称谓的界限是比较模糊的。 =========================== 第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。 ==== willsort 编注===== 纯以dos系统而言,可执行程序大约可以细分为五类,依照执行优先级由高到低排列分别是:DOSKEY宏命令(预先驻留内存),https://www.360docs.net/doc/6b10475616.html,中的内部命令(根据内存的环境随时进驻内存),以com为扩

网络常见DOS地9大命令,非常实用

网络常见的9大命令 1、ping命令 ping是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem 的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的围。 ping能够以毫秒为单位显示发送请求到返回应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络,连接速度比较快。ping还能显示TTL(Time To Live,生存时间)值,通过TTL值可以推算数据包通过了多少个路由器。 (1) 命令格式 ping 主机名 ping 域名 ping IP地址

如图所示,使用ping命令检查到IP地址210.43.16.17的计算机的连通性,该例为连接正常。共发送了四个测试数据包,正确接收到四个数据包。 (2) ping命令的基本应用 一般情况下,用户可以通过使用一系列ping命令来查找问题出在什么地方,或检验网络运行的情况。 下面就给出一个典型的检测次序及对应的可能故障: ① ping 127.0.0.1 如果测试成功,表明网卡、TCP/IP协议的安装、IP地址、子网掩码的设置正常。如果测试不成功,就表示TCP/IP的安装或设置存在有问题。 ② ping 本机IP地址

如果测试不成功,则表示本地配置或安装存在问题,应当对网络设备和通讯介质进行测试、检查并排除。 ③ ping局域网其他IP 如果测试成功,表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码不正确或网卡配置错误或电缆系统有问题。 ④ ping 网关IP 这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够做出应答。 ⑤ ping 远程IP 如果收到正确应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。 ⑥ ping localhost local host是系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。否则,则表示主机文件(/Windows/host)中存在问题。 ⑦ ping ..(一个著名域名) 对此域名执行Ping命令,计算机必须先将域名转换成IP地址,通常是通过DNS 服务器。如果这里出现故障,则表示本机DNS服务器的IP地址配置不正确,或它所访问的DNS服务器有故障

DOS 常用命令--cd(part1共8)

DOS 常用命令 ——cd 我们已经使用过cd命令,大家肯定还记得吧。cd是英文change directory(改变目录)的缩写,也是最常用的命令之一。顾名思义,如果想要进入一个目录,显然该采用这个命令了。 在讲cd命令之前,我们先来谈谈提示符是什么意思。现在的提示符是c:\> 这个c:说明现在的工作盘是c盘,即当前盘是硬盘。这个紧接着c:后面的\告诉我们,当前的工作目录是根目录。这个>的作用只是为了把工作目录和我们要输入的命令分隔开来,没有其它的意义。这样,我们就可以从提示符上看出当前的工作盘和工作目录是什么,你如果清楚了这一点,那么学习cd命令就变得轻松自如了。 好,现在我们想进入dos目录,该怎么办呢?对了,直接输入cd dos就行了。 你注意,提示符变了,变成c:\dos>了。这就告诉我们,我们当前的工作目录是c 盘根目录下的dos子目录。如果想退回上一层目录,就键入cd..,看提示符又变回来了。是不是很简单呢?进入子目录就输入cd+空格+子目录名,想返回上一层目录,就输入cd..(两点)。 现在你来练习一下,要进入windows子目录,怎么办?当然是输入cd windows。在windows目录下,还有一个子目录:system,再进去看看,输入cd system,好,暂停一下,这时我想要返回到根目录,这该怎么办?用cd..吗?那当然可以,不过得用两次。我们有更好的办法,其实只需键入cd\三个字符可以一下子就回到根目录,自己试试吧。 cd命令的用途就是让我们可以到任何一个目录去。我们把不同功能的文件分别安排在不同的目录内,是为了管理方便,可是当我们要使用某个文件时,我们就得到该文件所在的目录中去。比如说,要使用wps,就要到wps所在的目录;要用windows,就

DOS常用命令宝典全面+详细

](一)MD——建立子目录 1.功能:创建新的子目录 2.类型:内部命令 3.格式:MD[盘符:][路径名]〈子目录名〉 4.使用说明: (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。 C:、>MD FOX (在当前驱动器C盘下创建子目录FOX) C:、>MD FOX 、USER (在FOX 子目录下再创建USER子目录) (二)CD——改变当前目录 1.功能:显示当前目录 2.类型:内部命令 3.格式:CD[盘符:][路径名][子目录名] 4.使用说明: (1)如果省略路径和子目录名则显示当前目录; (2)如采用“CD、”格式,则退回到根目录; (3)如采用“CD.。”格式则退回到上一级目录。 例:(1)进入到USER子目录;(2)从USER子目录退回到子目录;(3)返回到根目录。 C:、>CD FOX 、USER(进入FOX子目录下的USER子目录) C:、FOX、USER>CD.。(退回上一级根目录) C:、FOX>CD、 (返回到根目录) C:、> (三)RD——删除子目录命令 1.功能:从指定的磁盘删除了目录。 2.类型:内部命令 3.格式:RD[盘符:][路径名][子目录名] 4.使用说明: (1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身; (2)不能删除根目录和当前目录。 例:要求把C盘FOX子目录下的USER子目录删除,操作如下: 第一步:先将USER子目录下的文件删空; C、>DEL C:、FOX、USER、*。* 第二步,删除USER子目录。 C、>RD C:、FOX、USER

MS-DOS及Windows批处理文件的制作方法

MS-DOS及Windows批处理文件的制作方法 批处理文件是无格式的文本文件,现在无盘清理基本都是靠它实现的,因为简单实用,它可以通过记事本编辑或者在命令提示符下使用edit命令编辑。下面就是方便大家怎样创建批处理文件的: 一简单批处理内部命令简介 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 noparms if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。) @Rem check parameters if null show usage :noparms echo Usage: monitor.bat ServerIP PortNumber goto end 标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是

常见DOS命令大全和使用方法

Windows DOS窗口打开方法,开始-运行-输入CMD-回车确认即可打开。DOS常用命令大全dos命令 dos下各种常见命令索引 ▲dir ▲attrib ▲cd ▲copy ▲xcopy ▲del ▲undelete ▲deltree ▲dos=high ▲doskey ▲emm386.exe ▲fc ▲format ▲unformat ▲interlnk ▲intersvr ▲memmaker ▲memitem等 ▲mscdex ▲msd

▲prompt ▲ramdrive ▲subst ▲mem ▲"><>><<"工具 ▲move ▲append ▲call ▲defrag ▲device 一、DIR 命令的格式: dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/b][/l][/c[h] (1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件) attrib[:][h/-h]只显示隐含文件或非隐含文件. [r/-r]只显示只读文件或非只读文件 [s/-s]只显示系统文件或非系统文件 [a/-a]只显示要归档文件或非归档文件 (2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前/o[n/-n]:按字母顺序或按文件名顺序/反向显示 [e/-e]:按扩展名字母顺序/反向显示 [d/-d]:按时间顺序/反向显示 [s/-s]:按大小从大到小或/反向显示

[g/-g]:按子目录先于文件或文件先于子目录 (3)/s 参数:对当前目录及其子目录中所有文件进行列表 列名:dir /s/a/o:n c:\>PRN 将c盘上的所有子目录和文件按隶属关系并根据子目录和文件字母顺序打印输出 (4)/B 参数:将只显示文件名与扩展名 (5)/L 参数:将全部用小写字母对文件或子目录进行列表 训练: dir /a 列当前目录所有文件(含隐含及系统文件) dir /ah 列隐含文件(包含子目录(隐含的) dir /a-h dir /as 列系统文件dir /a-s dir /ad 列子目录dir /a-d dir /o 按字母顺序 dir /B 只显示文件名与扩展名 二、attrib [+r|-r] [+a|-a] [+s|-s] [+h|-h] [d: ] [name] [/s] 缺省attrib name 显示文件的(文件)属性 attrib io.sys (或子目录) shr c:\ io.sys 指定为系统(s) 隐含(h) 只读(r)文件 也可以attrib *.sys 显示扩展名为sys的文件属性 参数[+r|-r] 将文件属性设置或解除只读属性 [+a|-a] 将文件属性设置或解除归档属性 [+h|-h] 将文件属性设置或解除隐含属性(尤其对子目录也起作用) /s 参数将当前及当前子目录下的所有文件均起作用

将DOS批处理文件转换为Shell脚本

将DOS批处理文件转换为Shell脚本 相当多的在PC上学习脚本的程序员都在运行DOS。事实上,残废的DOS批处理文件语言还是可以编写出一些比较强大的脚本来的,虽然它们一般都需要借助于外部的工具。所以说,某些时候,我们还是需要将老式的DOS批处理文件转换为UNIX shell脚本。一般来说,做这种事情并不困难,因为DOS批处理文件操作不过是等价的shell脚本的一个受限子集。 1.对照表 1.1.批处理文件关键字/ 变量/ 操作符 表格 L-1

批处理文件一般都包含DOS命令。我们必须把它转换为UNIX的等价命令,这样我们才能把批处理文件转换为shell脚本文件。 1.2.命令 表格 L-2 DOS命令与UNIX的等价命令

事实上,几乎所有的UNIX和shell操作符,还有命令都有许多的选项,对比DOS 和批处理文件来说,它们要强大的多。许多DOS批处理文件都需要依靠辅助工具,比如ask。com,这是一个比read命令差很多的类似副本。 DOS对于文件名通配符扩展支持的非常有限,并且很不完整,仅仅识别*和?。 2.示例 将DOS批处理文件转换为sehll脚本,通常是一件很简单的事情,而且转换的结果通常都比原始的批处理文件好。 例子 L-1. VIEWDATA.BAT: DOS批处理文件 1 REM VIEWDATA 2 3 REM 灵感来自于例子"DOS POWERTOOLS" 4 REM PAUL SOMERSON编写 5 6 7 @ECHO OFF 8 9 IF !%1==! GOTO VIEWDATA 10 REM 如果没有命令行参数。。。 11 FIND "%1" C:\BOZO\BOOKLIST。TXT 12 GOTO EXIT0 13 REM 打印出字符串匹配的行,然后退出。 14 15 :VIEWDATA 16 TYPE C:\BOZO\BOOKLIST.TXT | MORE 17 REM 显示整个文件,一次一页。 18 19 :EXIT0 转换脚本作了一些改进。 例子 L-2. Viewdata.sh: 转换自VIEWDATA.BAT的shell脚本 1 #!/bin/bash 2 # viewdata。sh 3 # 转换自VIEWDATA.BAT的shell脚本。 4 5 DATAFILE=/home/bozo/datafiles/book-collection。data

计算机基础之常用DOS命令

计算机基础之常用DOS命令 一:目录操作类命令 1)DIR--显示磁盘目录命令 1.功能:显示指定目录下的文件和子目录 2.类型:内部命令 3.格式:DIR [盘符][路径][/P][/W][/S][/A] 4.使用说明: /P:分屏显示 /W:宽行显示文件和子目录 /S:连同子目录下的文件一同显示。 /A:显示具有指定属性的文件和子目录 2)CD--改变当前目录 1.功能:改变当前目录 2.类型:内部命令 3.格式:CD[盘符][路径名][子目录名] 4.使用说明: 1)如果省略路径和子目录名则显示当前目录; 2)如采用“CD \”格式,则退回到根目录; 3)如采用“CD ..”格式则退回到上一级目录。3)MD--建立子目录 1.功能:在磁盘中创建新的子目录 2.类型:内部命令 3.格式:MD[盘符][路径名]〈子目录名〉 4.使用说明: 1)“盘符”:指定要建立子目录的磁盘驱动器字母 2)“路径名”:要建立的子目录的上级目录名 3)可以一次性建立多个接连式目录。 4)RD--删除子目录命令 1.功能:从指定的磁盘删除空的子目录。 2.类型:内部命令 3.格式:RD[盘符][路径名]<子目录名>[/S] 4.使用说明: 1)子目录在删除前必须是空的 2)不能删除根目录和当前目录 二:磁盘操作类命令

1)FORMA T--磁盘格式化命令 1.功能:格式化磁盘,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备 2.类型:外部命令 3.格式:FORMA T〈盘符〉[/S][/Q] 备注: 一、选用[/S]参数,将把DOS系统文件IO.SYS 、MSDOS.SYS及https://www.360docs.net/doc/6b10475616.html, 复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磁盘只能读写信息,而不能做为启动盘。 二、选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。 2)CHKDSK--检查磁盘当前状态命令 1.功能:用于检查格式化过的磁盘,包括文件类型,总容量和可利用空间大小,同时还统计出系统文件、数据文件、坏扇区分别占用多少空间。 2.类型:外部命令 3.格式:CHKDSK [盘符][路径][文件名][/F][/V] 4.使用说明: 一、选用[文件名]参数,则显示该文件占用磁盘的情况; 二、选[/F]参数,纠正在指定磁盘上发现的逻辑错误; 三、选用[/V]参数,显示盘上的所有文件和路径 三:文件操作类命令 1)COPY --文件复制命令 1.功能: 一、利用COPY命令复制文件; 二、利用COPY命令连接多个文件; 三、利用COPY命令将键盘输入信息复制到文件中; 四、把文件的内容通过显示器输出显示; 五、利用COPY命令删除一个文件。 2.类型:内部命令 3.格式: 1)COPY  <源文件名全称>[目标文件名全称] 2)COPY  <源文件名全称1>+<源文件名全称2>+[+…] [目标文件名全称] [/B][/A] 3)COPY  CON <目标文件名全称> 4)COPY  <目标文件名全称> CON 5)COPY  NUL <目标文件名全称>(补充内容) 4.使用说明: 1)COPY是文件对文件的方式复制数据,复制前目标盘必须已经格式化;

dos批处理命令小程序

一.简单批处理内部命令简介 先来看一个垃圾清理批处理文件吧 @echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.chk del /f /s /q %systemdrive%\*.old del /f /s /q %systemdrive%\recycled\*.* del /f /s /q %windir%\*.bak del /f /s /q %windir%\prefetch\*.* rd /s /q %windir%\temp & md %windir%\temp del /f /q %userprofile%\recent\*.* del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"

del /f /s /q "%userprofile%\Local Settings\Temp\*.*" del /f /s /q "%userprofile%\recent\*.*" echo 清除系统垃圾完成~ echo. & pause 将上面的内容保存为*.bat就可以运行了,清理系统垃圾 下面是详细讲解 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当 前回显设置。 语法 echo [{on|off}] [message] Sample:@echo off / echo hello world 在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)

DOS批处理命令大全

COMMAND DOS批处理命令大全 帮助文件 WING 12

目录 MOVE /? (3) COPY /? (3) DEL /? (4) AT /? (5) TIME [/T | time] (5) DATE [/T | date] (6) GOTO /? (6) CALL /? (6) FOR /? (8) SET /? (11) REG Operation /? (15) dir /? (23) md /? (24) chdir /? (24) C:\>ren /? (25) diskcopy /? (26) xcopy /? (26) path /? (30) chkdsk /? (30) format /? (31)

MOVE /? 移动文件并重命名文件和目录。 要移动至少一个文件: MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 要重命名一个目录: MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2 [drive:][path]filename1 指定您想移动的文件位置和名称。 destination 指定文件的新位置。目标可包含一个驱动器号 和冒号、一个目录名或组合。如果只移动一个文件 并在移动时将其重命名,您还可以包括文件名。 [drive:][path]dirname1 指定要重命名的目录。 dirname2 指定目录的新名称。 /Y 取消确认改写一个现有目标文件的提示。 /-Y 对确认改写一个现有目标文件发出提示。 命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上 的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内 执行的,改写时都发出提示。 COPY /? 将一份或多份文件复制到另一个位置。 COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination [/A | /B]] source 指定要复制的文件。 /A 表示一个 ASCII 文本文件。 /B 表示一个二进位文件。 /D 允许解密要创建的目标文件 destination 为新文件指定目录和/或文件名。 /V 验证新文件写入是否正确。 /N 复制带有非 8dot3 名称的文件时,

电脑系统(DOS命令大全

若电脑虽然有问题但还能进入Windows, 1.请依次点击“开始→程序→ MS-DOS方式”,你还可以点击“开始→运行”,在打开的对话框里输入“command”(不带引号,下同)。若你的系统是Windows XP/2000,则输入“cmd”,同样可以进入DOS。 2.对于Windows 98系统,还可以点击“开始→关闭系统”,在出现的对话框中选择“重新启动计算机并切换到MS-DOS环境”,即可进入DOS。 3.在开机通过自检后,屏幕出现“Starting Windows 98…”的字样时,立即按下“F8”键,接着选择“Safe Mode Command Prompt Only”或“Command Prompt Only”,即可进入安全模式DOS或纯DOS。 4.系统崩溃了,重新启动计算机,按住Ctrl键,在出现的屏幕信息中选择“Safe Mode Command Prompt Only”或“Command Prompt Only”,即可进入安全模式DOS或纯DOS。 5.若无法进入Windows,重新启动计算机,进入CMOS,将BIOS中的第一启动顺序(1st Boot Device)改成软驱(Floppy),保存后插入系统盘即可。 DOS命令大全!!常用的有哪些呢? DOS:disk operate system,磁盘操作系统,DOS命令又分内部命令和外部命令。 内部命令又称为驻机命令,它是随着DOS系统的启动同时被加载到内存里且长驻内存。 也就是说,只要启动了DOS系统,我们就可以使用内部命令。 外部命令是储存在磁盘上的可执行文件,执行这些外部命令需要从磁盘将其文件调入内存,因此,外部命令只有该文件存在时才能使用。带有.COM、.EXE、.BAT等扩展名的文件都可看成是外部命令。 常用的内部命令有MD、CD、RD、DIR、PATH、COPY、TYPE、EDIT、REN、DEL、CLS、VER、DATE、TIME、PROMPT。 常用的外部命令有DELTREE、FORMA T、DISKCOPY、LABEL、VOL、SYS、XCOPY、FC、ATTRIB、MEM、TREE。 常用的内部命令详解 1.MD——建立子目录 功能:创建新的子目录 类型:内部命令ü 格式:MD[盘符:][路径名]〈子目录名〉 FOR 1: C:\>md y /*---建立y子目录---*/ 2.CD——改变当前目录 功能:显示当前目录ü 类型:内部命令ü 格式:CD[盘符:][路径名][子目录名] 说明:CD命令不能改变当前所在的盘,CD..退回到上一级目录,CD\表示返回到当前盘的目录下,CD无参数时显示当前目录名。 FOR 2: C:\>cd y /*---显示当前目录y---*/ 3.RD——删除子目录命令 功能:从指定的磁盘删除了目录。

Dos命令使用方法及操作

MS DOS 命令大全 顺德一中德胜学校王兵 教学目标: 学生了解Dos命令的基本意义; 学生掌握常用的Dos命令; 学生学会使用基于网络的Dos命令。 教学内容: 一、基础命令 1 dir 无参数:查看当前所在目录的文件和文件夹。 /s:查看当前目录已经其所有子目录的文件和文件夹。 /a:查看包括隐含文件的所有文件。 /ah:只显示出隐含文件。 /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 /p:以分页方式(显示一页之后会自动暂停)显示。 |more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个 命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more 得到的结果和dir /w /p的结果是一样的。 其他的参数大家可以用:dir/?查看。 2 cd cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就 输入:cdabcdef.ghi进入该目录。 cd\ 退回到根目录。 cd..退回到上一级目录。 3 md rd md 目录名:建立特定的文件夹。(dos下面习惯叫目录,win下面习惯叫文件夹。呵呵!) rd 目录名:删除特定的文件夹。 4 cls 清除屏幕。 5 copy copy 路径\文件名路径\文件名:把一个文件拷贝到另一个地方。 6 move move 路径\文件名路径\文件名:把一个文件移动(就是剪切+复制)到另一个地方。

7 del del 文件名:删除一个文件。 del *.*:删除当前文件夹下所有文件。 del不能删除文件夹。 8 deltree 删除文件夹和它下面的所有子文件夹还有文件,厉害。。。不要乱用。 9 format format x: :x代表盘符,格式化一个分区。在dos下是用fat文件系统格式 化的,在windows2000安装的时候会问你要不要转换为ntfs。 10 type type 文本文件名:显示出文本文件的内容。 11 edit 其实这是个小程序,编辑文本文件用的。 12 ren ren 旧文件名新文件名:改文件名。 二、关于网络的常用命令 1 ping ping 主机ip或名字:向目标主机发送4个icmp数据包,测试对方主机是否收到并响应,一般常用于做普通网络是否通畅的测试。但是ping不同不代表网络不通,有可能是目标主机装有防火墙并且阻止了icmp响应。 ping -t :不停的发送数据包。当然都很小,不能称作攻击。有些人自己写 了一些类似于ping命令的程序,不停的发送很大的数据包,以阻塞目标主机的网络连接。 2 net 建议是用net /?获取具体帮助信息。实在是有很多参数,参数下面还有参 数。常用:net view \\主机来看共享,net start/stop 服务来启动和停 止服务,信使服务个人不太喜欢。 3 netstat netstat 主机:查看主机当前的tcp/ip连接状态,如端口的状态。 4 nbtstat nbtstat 主机:查看主机使用的NetBIOS name。

DOS批处理命令

1、*.*的简写 *.*可以用.代替,例如,删除当前目录中的全部文件∶ DEL. 2、返回父目录即上级目录 CD.. 3、把目录文件的列表存入文本文件中 DIR>filename 4、查看当前目录下任何属性的文件 方法一∶DIR, 方法二∶DIR/A 5、取消当前目录下所有文件的所有属性(实际上只能查看属性而不能取消-jm注) ATTRIB, 若在C盘根目录下执行此命令,再用DIR来查看,可以看到IO.SYS、MSDOS.SYS等隐含文件 6、显示当前目录下的所有子目录名 DIR/AD 7、连续显示多个文件的内容 COPY *.* CON 8、分屏显示文件内容 方法一∶MORE

方法二∶COPY filename+,, 10、如何屏蔽DOS行的输出信息? 方法是将屏幕输出重定向到DOS空设备NUL,例如∶ COPY MYPROG.EXE A:>NUL 11、在DOS状态下直接显示用D方式编辑的WPS文件内容 COPY filename.wps CON/B 12、向文本文件中追加数据 方法一∶COPY filename+CON 方法二∶TYPE CON>>filename 输入完毕后按F6或Ctrl+Z键结束。 13、键盘指法练习或汉字输入练习的简易屏幕 COPY CON NUL 14、直接打印键盘输入的内容 方法一∶COPY CON PRN 方法二∶MORE>PRN 方法三∶SORT>PRN 输入完毕后按F6或Ctrl+Z键。 15、DOS下直接编辑生成文件 在没有任何编辑软件(如EDLIN、EDIT等)的情况下,可临时用以下六种方法从键盘编辑生成文件,当文件内容输入完毕后,按F6键或按Ctrl+Z键存盘退出∶ 方法一∶COPY CON filename

计算机网络常用的dos命令

计算机网络常用的dos命令[原文地址] 1.最基本,最常用的,测试物理网络的 ping 192.168.10.88 -t ,参数-t是等待用户去中断测试 2.查看DNS、IP、Mac等 A.Win98:winipcfg B.Win2000以上:Ipconfig/all C.NSLOOKUP:如查看河北的DNS C:\>nslookup Default Server: https://www.360docs.net/doc/6b10475616.html, Address: 202.99.160.68 >server 202.99.41.2 则将DNS改为了41.2 > https://www.360docs.net/doc/6b10475616.html, Server: https://www.360docs.net/doc/6b10475616.html, Address: 202.99.160.68 Non-authoritative answer: Name: https://www.360docs.net/doc/6b10475616.html, Address: 202.99.160.212 3.网络信使 Net send 计算机名/IP|* (广播) 传送内容,注意不能跨网段net stop messenger 停止信使服务,也可以在面板-服务修改net start messenger 开始信使服务

4.探测对方对方计算机名,所在的组、域及当前用户名 ping -a IP -t ,只显示NetBios名 nbtstat -a 192.168.10.146 比较全的 https://www.360docs.net/doc/6b10475616.html,stat -a 显示出你的计算机当前所开放的所有端口 netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和IP的统计等 6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址 arp -a 7.在代理服务器端捆绑IP和MAC地址,解决局域网内盗用IP: ARP -s 192.168.10.59 00-50-ff-6c-08-75 解除网卡的IP与MAC地址的绑定: arp -d 网卡IP 8.在网络邻居上隐藏你的计算机 net config server /hidden:yes net config server /hidden:no 则为开启 9.几个net命令

新手学习的DOS批处理高级教程全集

DOS批处理高级教程精选合编20080331(windows Xp) 前言 本教程主要引用伤脑筋版主(https://www.360docs.net/doc/6b10475616.html,)的系列文章,同时参考引用[英雄]教程等其他批处理教程,本文将这些文章合并在一起,并适当修改,修改整理也是学习过程,力求深刻而又简单易懂,主要目的是方便自己以后查阅。 本教程很长啊,需要一定的耐心才能看完,能够看完的话,差不多就是批处理高手了,即使不是高手也是熟手了。如果连续不停的看完本教程而且理解得差不多,估计人也累趴下了。本教程适合对dos有一定基础的人慢慢学习或查阅。 查阅方法:复制目录中的条目,搜索即可。 目录 第一章批处理基础 第一节常用批处理内部命令简介 1、REM 和 :: 2、ECHO 和 @ 3、PAUSE 4、ERRORLEVEL 5、TITLE 6、COLOR 7、mode 配置系统设备 8、GOTO 和 : 9、FIND 10、START 11、assoc 和 ftype 12、pushd 和 popd 13、CALL 14、shift 15、IF 16、setlocal 与变量延迟 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编程高级技巧 一、界面设计

相关文档
最新文档