文件垃圾测试的真正问题

这是批量处理!这不是一个代码

给你一个资料,很详细的,你可以自己做。

如何创建批处理文件?

听完批档不要觉得骄傲。其实很简单。你用过记事本吗?二手?好的。打开记事本,不写任何内容,然后选择文件并保存。选择所有文件作为保存类型,文件名将被命名为*。bat,代表文件名。你可以随便拿。保存后,查看保存的地方,白色窗口中会出现一个带黄色齿轮的图标。这是您创建的批处理文件。双击它就可以运行它,但是现在他还没有在里面输入任何命令。所以他跑的时候什么都不会做。当我们想给这个*增加点什么的时候。bat文件,只要右击他,选择编辑,然后我们就可以打开记事本,输入命令了。

批处理文件中有哪些命令?

批处理文件中的命令暂时可以理解为dos命令,后面再解释。批处理,顾名思义,就是很多东西堆在一起进行处理。换句话说,就是在里面写一系列的dos命令,然后逐个执行。其效果与在cmd中键入dos命令相同。在批处理中写完之后,双击它就可以运行了。你不必一次又一次地在里面输入命令。这是批处理文件。

除了运行dos命令,他还可以支持选择结构if、循环结构for、goto等。,有点类似C,但远不如C全面,写作语言很不规范。

批处理语法:

先说最基础的@echo off

Echo的意思是回旋加速器,这里是回声的意思,echo off是关闭回声的意思。前面的@表示离线回显也不会回显。可以尝试去掉@和整行。@的另一个功能是在执行批处理文件后自动恢复命令echo。如果第一句话是ECHO OFF,那么在执行批处理文件后,命令提示符将不会显示。

比如我们先创建一个1。bat文件,我们将输入:

然后,Dir保存在c: \下。然后我们运行cmd,进入c盘根目录,输入1.bat,就会显示:

c:\ & gt;目录

驱动器c中的卷没有标签。

该卷的序列号为0C5D-07FF。

C:\目录

这是一个很好的例子。DIR & gt窗子

2004年8月25日00:51 & lt;DIR & gt文档和设置

...........

丙:\

如果1的内容。蝙蝠被改造成

回声

目录

然后在cmd中输入1.bat,就会显示出来。

c:\ & gt;Echo off //因为运行了Echo off,所以没有显示dir命令,直接显示结果。

驱动器c中的卷没有标签。

该卷的序列号为0C5D-07FF。

C:\目录

这是一个很好的例子。DIR & gt窗子

2004年8月25日00:51 & lt;DIR & gt文档和设置

.....

丙:\

如果1.bat文件被修改为:

@关闭回声

目录

它显示为:

c:\ & gt;1.bat //与之前不同的是,没有显示echo off,因为加了@所以@后面的内容没有显示。

echo是关的,所以不显示后面的命令,直接显示结果。

驱动器c中的卷没有标签。

该卷的序列号为0C5D-07FF。

C:\目录

这是一个很好的例子。DIR & gt窗子

2004年8月25日00:51 & lt;DIR & gt文档和设置

....

丙:\

通过以上对比,相信你已经完全掌握了echo off命令。现在是1...写起来好累!!!洗了个澡就睡觉了。

-

我是早上6点被拉起来的...我运气不好,继续写吧。

-

接下来是调用命令:

Call是打电话的意思,不是“哦,妈的”:)。打电话就是打电话。如果有两个批处理文件,a.bat和B.bat,我想在a.bat中间运行B.bat,怎么运行?其实很简单。只要在a.bat文件中输入call命令,就可以在a.bat运行的同时运行b.bat,b.bat结束后继续执行a.bat。

呼叫命令格式:

调用[驱动器:][路径]文件名[批处理参数]

Batch-parameters指定批处理程序所需的命令行信息。

例如,我们在c盘的根目录下创建一个. bat文件,内容如下:

回声这是一只蝙蝠

呼叫d:\b.bat

回声完成

然后在D盘根目录下创建b.bat,内容如下:

艾可,这是蝙蝠

保存后打开cmd,进入c盘根目录,然后输入1.bat,如下图:

c:\ & gt;蝙蝠

c:\ & gt;回声这是一只蝙蝠

这是一只蝙蝠

c:\ & gt;呼叫d:\b.bat

c:\ & gt;艾可,这是蝙蝠

这是蝙蝠

c:\ & gt;回声完成

完成的

从例子中很容易看出,先运行a.bat的内容,调用b.bat后再调用b.bat,运行b.bat后返回a.bat,再运行调用b.bat后的echo done语句,直到运行a.bat的所有批处理命令。

注意:其中有一个[批处理参数]。如果我的朋友能告诉我,我将不胜感激。

暂停命令

暂停批处理程序的执行,并显示一条消息,提示用户按任意键继续执行。该命令只能在批处理程序中使用。

Rem命令:

表示该命令后面的字符是解释行(注释),不执行,仅供以后参考(相当于程序中的注释)。

同时可以用两个冒号代替rem。例如,::相当于一个REM。但两者有一个区别,就是如果你用::作为注释,它不会回显,即使你键入echo on来强制回显。同时,REM可以在config.sys中添加注释。

语法:rem[commnet]

批处理文件参数:

变得有点基础的人都知道,函数是有参数的。批处理文件也有参数。

比如希望可以帮助没有语言基础的人很好的理解。

我先举个例子。首先在c盘根目录下创建一个批处理文件A. bat,输入内容。

echo %1

然后打开cmd,再进入c盘根目录,输入:a“这是一个残书”。

结果如下:

c:\ & gt;a.bat“这是一个测试”

c:\ & gt;echo“这是一个测试”

“这是一个测试”

在输入A“这是一个残书”中,A是新建的a.bat的文件名A(后者。bat可以写也可以不写),A后面的句子“这是一个残书”就是参数。此处写入的参数将在程序运行时自动放入批处理程序。它放在哪里?就放在%1吧。

看这个例子,让我们看看参数的完整定义:

批处理文件也可以像C语言中的函数一样使用参数(相当于DOS命令的命令行参数),需要一个参数表达式“%”。

%[1-9]表示一个参数,指运行批处理文件时文件名后添加的空格(或制表符)分隔的字符串。变量的范围可以从%0到%9,%0表示批处理命令本身,其他参数字符串按照%1到%9的顺序表示。//在我们上一个程序的例子中,有% 1,是参数,输入“这是一个测试”直接放在% 1的位置,于是程序变成了echo“这是一个测试”。

再举几个例子帮助你理解:

c:根目录下的下一个批处理文件名为b.bat,其内容如下:

@关闭回声

Type %1 //type是dos下的一个输出命令,可以用来输出文本文件的内容。例如,我们创建一个新的1.txt文件。

//输入其中的内容并保存。输入cmd。如果输入1.txt,就无法读取1.txt文件的内容,但是如果我

//想看怎么办?这时可以使用type命令,只要在cmd中输入type 1.txt,就会显示出来。

///1.txt文件。

类型%2

然后运行C:\ & gt;商务英语

%1:代表a.txt

%2:代表b.txt

所以上面的批处理命令变成了

@关闭回声

a.txt类型

b.txt类型

所以上面的命令会依次显示a.txt和b.txt文件的内容。

没有编程基础的人可能会问,为什么要获取一个参数?后面加个参数有多麻烦?你为什么不直接写进去呢?!其实这种方式既有对的方面,也有错的方面。我们举个例子来说明。

第一步是在c盘的根目录下创建一个新的批处理文件,我们仍然称它为a.bat,输入内容如下:

ping %1 //ping命令可以简单理解为测试一台机器是否开机,如果开机,它会向你发回响应。

然后输入cmd。我们想测试163的服务器是否开着,所以输入一个www.163.com

对于知道ping命令的人,可以ping来检查,但是如果想ping的人不知道如何使用ping命令呢?这时候你可以提前把命令输入到批处理文件中,保存好,然后让不会用的人输入cmd来运行你的批处理文件,在文件名后面加上他要ping的网址就行了。也就是说,他要ping 163,就直接加163的网址,要ping新浪,就直接加新浪的网址。这样他只需要输入一个参数,而不需要改变程序本身。

这是一个简单的ping命令。你可能觉得用参数不划算,或者直接改就好了。但是如果程序很多,一下子找不到地方改怎么办?所以,不管你是财哥、财哥、财姐、财姐,只要你跑,输入参数,结果就自己出来了。不用像你一样去想怎么写批处理文件。人只需要知道输入什么就能让批处理程序运行,而编写者要让不懂程序的人运行程序。

批处理参数就是这么简单。不知道你懂不懂?但是,如果您想了解更多关于批处理参数的信息,您可以继续阅读。如果你不想知道更多,现在知道这么多就够了。

以下粉色内容为网上信息。

====================================

因为参数只有1%-9%,当我们要引用第十个或者更多的参数时,就必须移动DOS参数的起始指针。shift命令就扮演了这个移动指针的角色,将参数的起始指针移动到下一个参数,类似于C语言中的指针操作。图表如下:

初始状态,cmd是命令名,可以被%0引用。

cmd arg 1 arg 2 arg 3 arg 4 arg 5 arg 6 arg 7 arg 8 arg 9 arg 10

^ ^ ^ ^ ^ ^ ^ ^ ^ ^

& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

1移位后,cmd无法引用。

cmd arg 1 arg 2 arg 3 arg 4 arg 5 arg 6 arg 7 arg 8 arg 9 arg 10

^ ^ ^ ^ ^ ^ ^ ^ ^ ^

& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

两次移位后,arg1也被丢弃,%9点为空,没有参考意义。

cmd arg 1 arg 2 arg 3 arg 4 arg 5 arg 6 arg 7 arg 8 arg 9 arg 10

^ ^ ^ ^ ^ ^ ^ ^ ^ ^

& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;& amp线;

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

可惜win9x和DOS不支持shift的反向操作。只有在nt内核命令行环境下,shift支持/n参数,起始指针可以基于第一个参数后移。

=================

If转到高级语法选项

今天到此为止。我要收拾行李回学校了。也许如果goto选择高级语法将在沈阳完成。祝我好运。

======================

学校的“网吧”终于重新开张了,赶紧把剩下的吃完吧。

If命令

说白了,if相当于我们白话文里的if。

比如:如果A喜欢B,那么A就嫁给B,把这句话翻译成计算机语言就行了。

如果a喜欢b a,她必须嫁给b。

当然,计算机无法理解A喜欢B和A会嫁给B这两句话,这里只是为了方便大家举例说明。

If语句I * * *有三种模式,如下:

IF [NOT] string1==string2命令

如果[不存在]文件名命令

IF [NOT] ERRORLEVEL number命令

NOT指定仅当条件为false时,Windows XP才应执行此命令。

ERRORLEVEL number如果最后运行的程序返回的退出代码等于或大于指定的数字,则指定的条件为真。

String1==string2如果指定的文本字符串匹配,则指定的条件为真。

如果指定的文件名存在,则指定的条件为真。

命令如果条件满足,指定要执行的命令。如果指定的条件为FALSE,则该命令后面可以跟一个ELSE命令,该命令在ELSE关键字之后执行。

先解释第一个:

IF [NOT] string1==string2命令

自然语句含义:如果String1 = = String2,那么执行命令。

下面是另一个可以在实践中使用的if语句。

自然语句:如果输入参数为3,将显示“A = 3”。

计算机声明:

@关闭回声

如果“% 1”= =“3”回显“a=3”

或者写

@关闭回声

如果%1==3,则回显“a=3”

注意:测试的时候,因为在cmd下,输入1.bat3 .因为这里用到了传递参数,详见文章前面部分的“批处理文件参数”。

第二种类型:

如果[不存在]文件名命令

该命令语言检测文件是否存在。如果存在,请执行该命令。如果不存在,则不显示任何内容。

比如我们想检查E盘根目录下是否有一个名为2.txt的文件。如果存在,它将显示EXIST。如果它不存在,将不会显示任何内容。

批处理命令如下所示:

@关闭回声

如果存在e:\2.txt回显“存在2.txt”

第三种:

IF [NOT] ERRORLEVEL number命令

这个我引用一些资料,感觉别人写的比较详细。报价部分是粉红色的:

if errorlevel & lt数字>要执行的命令

很多DOS程序会返回一个数字值来表示程序运行后的结果(或状态)。可以通过if errorlevel命令判断程序的返回值,根据不同的返回值执行不同的命令(返回值必须按降序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。

例如如果错误级别2转到x2。

= = = =注= = = = = = = = = =

返回值从大到小的顺序不是必须的,只是执行命令是goto时的习惯用法。set作为执行命令时,一般是从小到大排列的。例如,要将返回代码放入环境变量中,您需要使用以下订单:

如果错误级别为1,则设置el=1

如果错误级别2设置el=2

如果误差等级3设置el=3

如果误差等级为4,则设置el=4

如果误差等级为5,则设置el=5

...

当然也可以用下面的循环来代替,原理是一样的:

对于%% e in (1 234 5677 8...)do if error level % % e set El = % % e//这是一个for循环,后面会介绍。如果不了解,可以先跳过。

如果errorlevel比较返回码,判断条件不是等于,而是大于等于。由于goto的跳转特性,从小到大排序会导致在较小的返回码处跳出;但是,由于set命令的“重复”赋值特性,从大到小排序会导致较小的返回代码“覆盖”较大的返回代码。

另外,虽然if error level = Command也是一个有效的命令行,但那只是command.com在解释命令行时忽略了=作为命令行分隔符。

选择命令

Goto命令

为了指挥

for命令实际上是一个循环命令。如果我们想重复一个语句,我们可以使用for命令。通过for命令,我们可以控制循环次数等等。

语法:

对(set)中的%变量执行命令[命令-参数]

%variable指定一个单字母可替换参数。

(set)指定一个或一组文件。可以使用通配符。

Command指定对每个文件执行的命令。

命令参数

为特定命令指定参数或命令行开关。

在批处理文件中使用FOR命令时,请使用%%variable来指定变量。

而不是%变量。变量名区分大小写,所以%i不同于% i。

不知道你懂不懂,其实很好理解。我们举个例子。我想用type打印c盘根目录下的所有bat文件和txt文件。下的命令。dos是类型*。蝙蝠*。txt。首先,将文件保存在驱动器C的根目录下,文件名为a.bat

按如下方式使用for命令:

对于%%t in (*。蝙蝠*。txt) do类型%%t

%%t实际上代表一个参数,其内容在in()中的括号内。也就是说,这句话中的%%t变成了*。bat *.txt. do是做的意思,类型后面跟%%t,%%t是*。bat *.txt .所以这个命令的原意就变成了

键入*。蝙蝠*。文本文件(textfile)

执行时输入cmd,然后在c盘根目录下输入a.bat,打印出所有文件内容,扩展名为。蝙蝠和。txt在驱动器c的根目录下.

这里注意:in后面有一个空格。

在xp下使用了for命令扩展,所以for的功能变得更加强大。我们来说一个真实的循环。

FOR/L %变量IN (start,step,end) DO命令[命令-参数]

这个集合表示从开始到结束递增的一系列数字。

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

序列(5 4 3 2 1)

第一个1在起始位置,表示起始位置,第二个1在踏步位置,英文表示踏步。在这种情况下,意味着每个增量是1。下面的5在末端位置,表示末端的尺寸。

这句话的意思是从1(开始)增加,一次增加1(步进),直到5(结束)。

这有什么用?其实我感觉这个东西还是很有用的。举个最简单的例子,我们要重复“我是最棒的”这句话,显示10次。那么for命令如下所示:

对于/L %%e in (1,1,10)做回显“我是最好的”

此时cmd会重复输入“我是最好的”10次。

===============================================

你看完整篇文章了吗?良好的...对我来说写作不容易....

现在不知道大家对bat有什么样的认识。我现在的感觉是bat是dos命令的组合。你把所有的dos命令都写成bat命令,只要运行bat,就会一条一条的执行dos命令,这无疑提供了很多便利。

让我再举几个例子。

删除默认* * *享受:

我不知道你对默认* * *,了解多少,但这是一个隐患。现在唯一的办法似乎就是删除一个bat文件。该命令如下所示:

净份额IPC $/删除

净份额管理费用/删除

净份额c美元/删除

净份额d $/删除

净份额e美元/删除

……

里面的c d e是你的驱动器号。如果只有一个分区,就写net share c$ /delete。如果你有n个分区,那就一个一个写下来。

净份额d $/删除

净份额e美元/删除

净份额f美元/删除

净份额g美元/删除……

登录局域网的快捷方式(对方机器有密码,是2000以上系统)。

Net使用\ \ 192.168 . 0 . 1[密码]/用户:[用户名]

浏览器\ \ 192.168.0 . 1

Bat文件备份注册表

Set regfile=%date% //设置变量,下面的%regfile%会自动替换“今天的日期”。

如果存在“%regfile%”则转到结尾//如果找到以今天的日期命名的目录,则跳到文件的结尾。

Md临时//创建临时目录

打电话1.bat //打电话1.bat。

德尔1.bat

任1.bat

任3 .蝙蝠2 .蝙蝠

回送移动“% regfile %”temp & gt;4.bat //编写一个bat文件,将“按日期命名的目录”移动到temp。

Md "%regfile%" //在同一天创建按日期命名的目录。

CD“% regfile %”//

Reg export hkcu hkcu.reg //导出注册表

出口hklm hklm.reg

//HKEY _当前_用户缩写hkcu。存储当前用户的个人数据。

//HKEY_LOCAL_MACHINE缩写hklm。系统的核心数据

激光唱片..

del tree/y temp & gt;nul///返回父目录,删除temp文件夹。

:结束