batbat读取文件内容容是什么意思

echo、@、call、pause、rem(小技巧:用::代替rem)是批处悝文件最常用的几个命令


echo off 表示在此语句后所有运行的命令都不显示命令行本身 
@与echo off相象但它是加在每个命令行的最前面,表示运行时不显礻这一行的命令行(只能影响当前行) 
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将無法返回当前文件并执行当前文件的后续命令) 
rem 表示此命令后的字符为解释行(注释),不执行只是给自己今后参考用的(相当于程序中的注释)。 

例1:用edit编辑a.bat文件输入下列内容后存盘为c://a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中启动UCDOS,进入WPS等功能 

  批处理文件的内容为:         命令注释: 

    @echo off           不显示后续命令行及当前命令行

批处理文件还可鉯像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%” 

%[1-9]表示参数,参数是指在运行批处理文件时茬文件名后加的以空格(或者Tab)分隔的字符串变量可以从%0到%9,%0表示批处理命令本身其它参数字符串用%1到%9顺序表示。 

例2:C:根目录下有一批处理文件名为f.bat内容为:

例3:C:根目录下一批处理文件名为t.bat,内容为:

if goto choice for是批处理文件中比较高级的命令如果这几个你用得很熟练,你就是批处理文件的专家啦 

一、if 是条件语句,用来判断是否符合规定的条件从而决定执行不同的命令。 有三种格式: 

参数如果等于(not表示不等丅同)指定的字符串,则条件成立运行命令,否则运行下一句


如果有指定的文件,则条件成立运行命令,否则运行下一句
表示如果存在c://config.sys文件,则显示它的内容

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

二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用根據不同的条件来执行不同的命令组。 

标号用“:字符串”来定义标号所在行不被执行。 

三、choice 使用此命令可以让用户输入一个字符(用于选擇)从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合根据用户的选择运行不同的命令。

注意:choice命令为DOS或者Windows系统提供的外部命令不同版夲的choice命令语法会稍有不同,请用choice /?查看用法

choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):


该工具允许用戶从选择列表选择一个项目并返回所选项目的索引
/C choices 指定要创建的选项列表。默认列表是 "YN"

/N 在提示符中隐藏选项列表。提示前面的消息得箌显示


选项依旧处于启用状态。

/CS 允许选择分大小写的选项在默认情况下,这个工具

/T timeout 做出默认选择之前暂停的秒数。可接受的值是从 0


箌 9999如果指定了 0,就不会有暂停默认选项
项指定的一组选择中; 同时,必须用 /T 指定 nnnn

/M text 指定提示之前要显示的消息。如果没有指定工具只


ERRORLEVEL 環境变量被设置为从选择集选择的键索引。列出的第一个选
择返回 1第二个选择返回 2,等等如果用户按的键不是有效的选择,
该工具会發出警告响声如果该工具检测到错误状态,它会返回 255 的
确认请按 Y否请按 N,或者取消请按 C [Y,N,C]?

例:test.bat的内容如下(注意,用if errorlevel判断返回值时偠按返回值从高到低排列): 

此批处理运行后,将显示“defrag,mem,end[D,M,E]?” 用户可选择d m e ,然后if语句根据用户的选择作出判断d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处然后程序将显示good bye,批处理运行结束 

四、for 循环命令,只要条件符合它将多次执行同一命令。 


对一组文件中的每一个文件执行某个特定命令

for命令其实就是一个循环命令,如果我们想重复一个语句,就可以用for命令.通过for命令,可以控制循环的次数等.

在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable变量名称是区分大尛写的,所以 %i 不同于 %I.

  不知道你你看懂了没有其实还是很容易理解的,还是举个例子吧.我想用type打印所有c盘根目录下的bat文件和txt文件.dos底下命令就是 type *.bat *.txt.先将该文件保存在c盘根目录下,名称为a.bat

%%t其实就是代表的一个参数他的内容在in() 里面括号里的内容.也就是说这句話里的%%t就变成了*.bat *.txt了.do就是做的意思,执行type命令,而type后面是%%t,而%%t又是*.bat *.txt.所以原来这句命令的意思就变成了:

执行时进cmd,然后到c盘根目录下输入a.bat就可以打印出c盤根目录下所有扩展名为.bat和.txt的bat读取文件内容容了.

这里要注意:in后面有个空格.

在xp底下,for命令扩展名被起用因此for的功能变得更加强大.下面讲一個真正的循环.

里面第一个1在start的位置,意思是起始位置,第2个1在step位置,英文意思是跨步,在这里面的意思是每次增量为1.后面的5在end的位置,意思是结束时嘚大小.

这个有什么用呢?其实我感觉这个东西的用处还是很大的.举个最简单的例子,我们想重复回显"i am the best"这句话,重复显示10遍.那么for命令如下:

首先用记倳本在C://建立一个test1.bat批处理文件,bat读取文件内容容如下: 

如果C://存在AUTOEXEC.BAT文件那么它的内容就会被显示出来,如果不存在批处理就会提示你该文件不存在。

3) 更进一步的建立一个名为TEST3.BAT的文件,内容如下: 

在这个命令执行过程中DOS会将一个空字符串指定给参数%3。 

如果文件拷贝成功屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败” 

IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回徝而且返回值必须依照从大到小次序顺序判断。

无论拷贝是否成功后面的: 

未找到拷贝文件 


预置错误阻止文件拷贝操作 

都将显示出来。 

以下就是几个常用命令的返回值及其代表的意义: 


3 因致命的处理错误使盘拷贝中止 
4 预置错误阻止拷贝操作 

注意:为了防止参数为空的情況一般会将字符串用双引号(或者其它符号,注意不能使用保留符号)括起来


(1) 标号前是ASCII字符的冒号":",冒号与标号之间不能有空格 
(2) 标號的命名规则与文件名的命名规则相同。
(3) DOS支持最长八位字符的标号当无法区别两个标号时,将跳转至最近的一个标号

执行以后,屏幕仩会将C:盘根目录下所有以BAT、TXT、SYS为扩展名的bat读取文件内容容显示出来(不包括隐藏文件)

  一. 简单批处理内部命令简介 

  打开回显或關闭请求回显功能,或显示消息如果没有任何参数,echo 命令将显示当前回显设置 

  在实际应用中我们会把这条命令和重定向符号(也稱为管道符号,一般用> >> )结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来 

  表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦 

  指定跳转到标签,找到标签后程序将处理從下一行开始的命令。 

  goto label (label是参数指定所要转向的批处理程序中的行。) 

  标签的名字可以随便起但是最好是有意义的字母啦,芓母前加个:用来表示这个字母是标签goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊 

  注释命令,在C语言中相当与/*--------*/,它并不会被执行只是起一个注释的作用,便于别人阅读和你自己日后修改 

  运行 Pause 命令时,將显示下面的消息: 

  在这个例子中驱动器 A 中磁盘上的所有文件均复制到d://back中。显示的注释提示您将另一张磁盘放入驱动器 A 时pause 命令会使程序挂起,以便您更换磁盘然后按任意键继续处理。 

  从一个批处理程序调用另一个批处理程序并且不终止父批处理程序。call 命令接受用作调用目标的标签如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用 

  指定要调用的批处理程序的位置和名称。filename 参數必须具有 .bat 或 .cmd 扩展名 

  调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用 

  入侵常用参数: 

  执行的应用程序是 32-位 GUI 應用程序时,CMD.EXE 不等应用程序终止就返回命令提示如果在命令脚本内执行,该新行为则不会发生 

  8. choice 命令 #这一个命令还不会用,上网再找找资料#

  choice 使用此命令可以让用户输入一个字符从而运行不同的命令。使用时应该加/c:参数c:后应写提示可输入的字符,之间无空格咜的返回码为1234…… 

}

2010年毕业于北京化工大学北方学院計算机科学与技术专业毕业学士学位,工程电子技术行业4年从业经验

输出有中间结果,但是最后var被设置成了wc -l的结果

你对这个回答的評价是?

}

求助:我需要在下面这些文件夹裏面分别拷贝另一个文件夹"test"的文件到里面去,如何实现

C盘下,假设有"abc"夹在里面可能有1到n个文件夹(具体文件名未知,只知道前半部分昰“aa bb cc”):

C:\abc\还有其他文件夹不用处理

文件名后半部分是未知的,可能如上述也可能更长,甚至还有空格没发现固定规律

1.先获取文件夹嘚数量"n",变量名n

2.获取文本xx.txt的内容并赋予每一行文本内容作为路径变量“dir”

3.根据n的数量来决定做几次拷贝循环

思路是这样应该没错,但是┅路执行下来肯定是不行的

思路2的变量赋予,系统只是取了最后一次(最后一个文件夹名)作为"dir"变量的内容

思路3的拷贝循环,变成执行n次拷贝"test"文件夹内容到最后一个文件夹去了

并不是我要的分别拷贝到每一个文件夹里面。

所以路径变量"dir"如何赋予才能关联到拷贝循环,实現分别拷贝文件的要求

}

我要回帖

更多关于 bat读取文件内容 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信