① 使用bat脚本获得文件名,修改时间,大小
@echo offfor %%i in ("f:\test.txt")do ( echo %%~nxi&echo %%~zi字节&echo %%~ti&echo Y)>"%%~ni.log"pause
② 批处理,查找出指定路径下文件名最长的目录名
@echooff&for/f"delims="%%ain('dir/ad/b')do(set"fn=%%a"if"!fn:~31,1!"neq""if"!fn:~32,1!"equ""set"f=%%a")echo;%f%pause
及时采纳回答
③ bat 获取文本内字符串长度
获取new.txt中中每行文本字符串长度,长度信息写入report.txt中
ifexistreport.txtdelreport.txtsetline=0for/f"tokens=*delims="%%ain(new.txt)do(setvar=%%aset/aline+=1setnum=0call:loopecho第!line!行字符串长度为:!num!个字符>>report.txt):loopifnot"!var!"==""(set/anum+=1setvar=!var:~1!gotoloop)else(goto:eof)
④ 求个bat文件 获取目标文件夹的文件名 时间 大小 和路径
@echooffset/pa=请将文件夹拉入本窗口内:for%%ain(%a%)do(setb=%%~nasetc=%%~tasetd=%%~zasete=%%~dpa)clsecho文件夹名:%b%echo修改时间:%c%echo文件夹大小:%d%echo文件夹路径:%e%pause>nul::中国批处理脚本联盟
⑤ bat脚本中怎么获取文件的大小
如果不用for命令,dir也可以,不过显示出来的结果可能不是你愿意看到的,虽然能显回示出大小,但太死板了,答文件无论多大都是以字节为单位,无法进行转换,如果文件很大的话会显示比较长的数字串,文件大小不能很直观的体现出来,而且还显示出许多其他的一些信息,但如果用for语句的话就比单独用dir优越得多,以上这些问题都能解决掉,而且还可以加入一些条件语句使之更加灵活适用,如果一次显示包含多个文件时就需要for和dir组合使用了,dir加个/s可以显示目录中所有文件及文件夹(不包括隐藏的),再加/a就包括隐藏文件与文件夹了,总之用dir列出目录中所有文件,然后让for来提取最后执行相关命令。
⑥ 通过vbs脚本或者bat脚本,实现获取文件名和文件大小等信息并输出到Excel文档
生成到EXCEL里的不会,但是可以生成CSV文件自己建一个VBS文件,把下面的代码扔进去。可以自己制定路径,生成C:\1.csv文件。dim SF,sE,tFdim fs,oF,sTsub getFd(fd)wrtf fdfor each tmpFd in fd.subfoldersgetFd tmpFdnextend subsub wrtF(fd)for each tmpfile in fd.filessE.write tmpfile.name & "," & tmpfile.size & vbcrlfnextend subsF = InputBox("input your path")set fs = CreateObject("Scripting.FileSystemObject")set oF = fs.GetFolder(sF)tF="C:\1.csv"if fs.FileExists(tF) thenfs.DeleteFile tFend ifset sE = fs.OpenTextFile (tF, 8, True)sE.write "name,size" & vbcrlfgetFd oFsE.closemsgbox "done!"
⑦ 征求常用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(四)DIR——显示磁盘目录命令1.功能:显示磁盘目录的内容。2.类型:内部命令3.格式:DIR [盘符][路径][/P][/W]4. 使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;Press any key to continue/W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。PATH——路径设置命令1.功能:设备可执行文件的搜索路径,只对文件有效。2.类型:内部命令3.格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}4.使用说明:(1)当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件;(2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;(3)PATH命令有三种使用方法:PATH[盘符1:][路径1][盘符2:][路径2]…(设定可执行文件的搜索路径)PATH:(取消所有路径)PATH:(显示目前所设的路径)(六)TREE——显示磁盘目录结构命令1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。2.类型:外部命令3.格式:TREE[盘符:][/F][》PRN]4.使用说明:(1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;(2)选用>PRN参数时,则把所列目录及目录中的文件名打印输出。(七)DELTREE——删除整个目录命令1.功能:将整个目录及其下属子目录和文件删除。2.类型:外部命令3.格式:DELTREE[盘符:]〈路径名〉4.使用说明:该命令可以一步就将目录及其下的所有文件、子目录、更下层的子目录一并删除,而且不管文件的属性为隐藏、系统或只读,只要该文件位于删除的目录之下,DELTREE都一视同仁,照删不误。使用时务必小心!!!五、磁盘操作类命令(一)FORMAT——磁盘格式化命令1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。2.类型:外部命令3.格式:FORMAT〈盘符:〉[/S][/4][/Q]4.使用说明:(1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:WARNING:ALL DATA ON NON ——REMOVABLE DISKDRIVE C:WILL BE LOST !Proceed with Format (Y/N)?(警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?)(2)若是对软盘进行格式化,则会如下提示:Insert mew diskette for drive A;and press ENTER when ready…(在A驱中插入新盘,准备好后按回车键)。(3)选用[/S]参数,将把DOS系统文件IO.SYS 、MSDOS.SYS及COMMAND.COM复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磙盘只能读写信息,而不能做为启动盘;(4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘;(5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌岸然和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。(6)选用[/U]参数,表示无条件格式化,即破坏原来磁盘上所有数据。不加/U,则为安全格式化,这时先建立一个镜象文件保存原来的FAT表和根目录,必要时可用UNFORRMAT恢复原来的数据。(二)UNFORMAT恢复格式化命令1.功能:对进行过格式化误操作丢失数据的磁盘进行恢复。2.类型:外部命令3.格式:UNFORMAT〈盘符〉[/L][/U][/P][/TEST]4.使用说明:用于将被“非破坏性”格式化的磁盘恢复。根目录下被删除的文件或子目录及磁盘的系统扇区(包括FAT、根目录、BOOT扇区及硬盘分区表)受损时,也可以用UNFORMAT来抢救。(1)选用/L参数列出找到的子目录名称、文件名称、大孝日期等信息,但不会真的做FORMAT工作。(2)选用/P参数将显示于屏幕的报告(包含/L参数所产生的信息)同时也送到打印机。运行时屏幕会显示:“Print out will be sent to LPT1”(3)选用/TEST参数只做模拟试验(TEST)不做真正的写入动作。使用此参数屏幕会显示:“Simulation only”(4)选用/U参数不使用MIRROR映像文件的数据,直接根据磁盘现状进行UNFORMAT。(5)选用/PSRTN;修复硬盘分区表。若在盘符之后加上/P、/L、/TEST之一,都相当于使用了/U参数,UNFORMAT会“假设”此时磁盘没有MIRROR映像文件。注意:UNFORMAT对于刚FORMAT的磁盘,可以完全恢复,但FORMAT后若做了其它数据的写入,则UNFORMAT就不能完整的救回数据了。UNFORMAT并非是万能的,由于使用UNFORMAT会重建FAT与根目录,所以它也具有较高的危险性,操作不当可能会扩大损失,如果仅误删了几个文件或子目录,只需要利用UNDELETE就够了。三) CHKDSK——检查磁盘当前状态命令1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。2.类型:外部命令3.格式:CHKDSK [盘符:][路径][文件名][/F][/V]4.使用说明:(1)选用[文件名]参数,则显示该文件占用磁盘的情况;(2)选[/F]参数,纠正在指定磁盘上发现的逻辑错误;(3)选用[/V]参数,显示盘上的所有文件和路径。(四)DISKCOPY——整盘复制命令1.功能:复制格式和内容完全相同的软盘。2.类型:外部命令3.格式:DISKCOPY[盘符1:][盘符2:]4.使用说明:(1)如果目标软盘没有格式化,则复制时系统自动选进行格式化。(2)如果目标软盘上原有文件,则复制后将全部丢失。(3)如果是单驱动器复制,系统会提示适时更换源盘和目标盘,请操作时注意分清源盘和目标盘。(五)LABEL——建立磁盘卷标命令1.功能:建立、更改、删除磁盘卷标。2.类型:外部命令3.格式:LABEL[盘符:][卷标名]4.使用说明:(1)卷标名为要建立的卷标名,若缺省此参数,则系统提示键入卷标名或询问是否删除原有的卷标名;(2)卷标名由1至11个字符组成。(六)VOL——显示磁盘卷标命令1.功能:查看磁盘卷标号。2.类型:内部命令3.格式:VOL[盘符:]4.使用说明:省略盘符,显示当前驱动器卷标。(七)SCANDISK——检测、修复磁盘命令1.功能:检测磁盘的FAT表、目录结构、文件系统等是否有问题,并可将检测出的问题加以修复。2.类型:外部命令3.格式:SCANDISK[盘符1:]{[盘符2:]…}[/ALL]4.使用说明:(1)CCANDISK适用于硬盘和软盘,可以一次指定多个磁盘或选用[/ALL]参数指定所有的磁盘;(2)可自动检测出磁盘中所发生的交叉连接、丢失簇和目录结构等逻辑上的错误,并加以修复。(八)DEFRAG——重整磁盘命令1.。功能:整理磁盘,消除磁盘碎块。2.类型:外部命令3.格式:DEFRAG[盘符:][/F]4.使用说明:选用/F参数,将文件中存在盘上的碎片消除,并调整磁盘文件的安排,确保文件之间毫无空隙。从而加快读盘速度和节省磁盘空间。(九)SYS——系统复制命令1.功能:将当前驱动器上的DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM 传送到指定的驱动器上。2.类型:外部命令3.格式:SYS[盘符:]*使用说明:如果磁盘剩余空间不足以存放系统文件,则提示:No roomfor on destination disk.文件操作类命令(一) COPY文件复制命令1.功能:拷贝一个或多个文件到指定盘上。2.类型:内部命令3.格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]4.使用说明:(1)COPY是文件对文件的方式复制数据,复制前目标盘必须已经格式化;(2)复制过程中,目标盘上相同文件名称的旧文件会被源文件取代;(3)复制文件时,必须先确定目标般有足够的空间,否则会出现;insufficient的错误信息,提示磁盘空间不够;(4)文件名中允许使用通配举“*”“?”,可同时复制多个文件;(5)COPY命令中源文件名必须指出,不可以省略。(6)复制时,目标文件名可以与源文件名相同,称作“同名拷贝”此时目标文件名可以省略;(7)复制时,目标文件名也可以与源文件名不相同,称作“异名拷贝”,此时,目标文件名不能省略;(8)复制时,还可以将几个文件合并为一个文件,称为“合并拷贝”,格式如下:COPY;[源盘][路径]〈源文件名1〉〈源文件名2〉…[目标盘][路径]〈目标文件名〉;(9)利用COPY命令,还可以从键盘上输入数据建立文件,格式如下:COPY CON [盘符:][路径]〈文件名〉;(10)注意:COPY命令的使用格式,源文件名与目标文件名之间必须有空格!(二)XCOPY——目录复制命令1.功能:复制指定的目录和目录下的所有文件连同目录结构。2.类型:外部命令3.格式:XCOPY [源盘:]〈源路径名〉[目标盘符:][目标路径名][/S][/V][/E]4.使用说明:(1)XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝隐藏文件和系统文件;(2)使用时源盘符、源目标路径名、源文件名至少指定一个;(3)选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录;(4)选用/V参数时,对的拷贝的扇区都进行较验,但速度会降低。(三)TYPE——显示文件内容命令1.功能:显示ASCII码文件的内容。2.类型:内部命令。3.格式:TYPE[盘符:][路径]〈文件名〉4.使用说明:(1)显示由ASCII码组成的文本文件,对。EXE.COM等为扩展名的文件,其显示的内容是无法阅读的,没有实际意义2;(2)该命令一次只可以显示一个文件的内容,不能使用通配符;(3)如果文件有扩展名,则必须将扩展名写上;(4)当文件较长,一屏显示不下时,可以按以下格式显示;TYPE[盘符:][路径]〈文件名〉|MORE,MORE为分屏显示命令,使用些参数后当满屏时会暂停,按任意键会继续显示。(5)若需将文件内容打印出来,可用如下格式:TYPE[盘符:][路径]〈文件名〉,>PRN此时,打印机应处于联机状态。(四) REN——文件改名命令1.功能:更改文件名称2.类型:内部命令3.格式:REN[盘符:][路径]〈旧文件名〉〈新文件名〉4.使用说明:(1)新文件名前不可以加上盘符和路径,因为该命令只能对同一盘上的文件更换文件名;(2)允许使用通配符更改一组文件名或扩展名。(五)FC——文件比较命令1.功能:比较文件的异同,并列出差异处。2.类型:外部命令3.格式:FC[盘符:][路径名]〈文件名〉[盘符:][路径名][文件名][/A][/B][/C][/N]4.使用说明:(1)选用/A参数,为ASCII码比较模式;(2)选用/B参数,为二进制比较模式;(3)选用/C参数,将大小写字符看成是相同的字符。(4)选用/N参数,在ASCII码比较方式下,显示相异处的行号。(六)ATTRIB——修改文件属性命令1.功能:修改指定文件的属性。(文件属性参见2.5.4(二)文件属性一节)2.类型:外部命令。3.格式:ATTRIB[文件名][R][——R][A][——A][H][——H][S][——S][/S]4.使用说明:(1)选用R参数,将指定文件设为只读属性,使得该文件只能读取,无法写入数据或删除;选用——R参数,去除只读属性;(2)选用A参数,将文件设置为档案属性;选用——A参数,去除档案属性;(3)选用H参数,将文件调协为隐含属性;选用——H参数,去隐含属性;(4)选用S参数,将文件设置为系统属性;选用——S参数,去除系统属性;(5)选用/S参数,对当前目录下的所有子目录及作设置。七) DEL——删除文件命令1.功能:删除指定的文件。2.类型:内部命令3.格式:DEL[盘符:][路径]〈文件名〉[/P]4.使用说明:(1)选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除;(2)该命令不能删除属性为隐含或只读的文件;(3)在文件名称中可以使用通配符;(4)若要删除磁盘上的所有文件(DEL*·*或DEL·),则会提示:(Arey ou sure?)(你确定吗?)若回答Y,则进行删除,回答N,则取消此次删除作业。(八) UNDELETE——恢复删除命令1.功能:恢复被误删除命令2.类型:外部命令。3.格式:UNDELETE[盘符:][路径名]〈文件名〉[/DOS]/LIST][/ALL]4.使用说明:使用UNDELETE可以使用“*”和“?”通配符。(1)选用/DOS参数根据目录里残留的记录来恢复文件。由于文件被删除时,目录所记载斩文件名第一个字符会被改为E5,DOS即依据文件开头的E5和其后续的字符来找到欲恢复的文件,所以,UNDELETE会要求用户输入一个字符,以便将文件名字补齐。但此字符不必和原来的一样,只需符合DOS的文件名规则即可。(2)选用/LIST只“列出”符合指定条件的文件而不做恢复,所以对磁盘内容完全不会有影响。(3)选用/ALL自动将可完全恢复的文件完全恢复,而不一一地询问用户,使用此参数时,若UNDELTE利用目录里残留的记录来将文件恢复,则会自动选一个字符将文件名补齐,并且使其不与现存文件名相同,选用字符的优选顺序为:#%——0000123456789A~Z。UNDELETE还具有建立文件的防护措施的功能,已超出本课程授课范围,请读者在使用些功能时查阅有关DOS手册。七、其它命令(一)CLS——清屏幕命令1功能:清除屏幕上的所有显示,光标置于屏幕左上角。2类型:内部命令3格式:CLS(二) VER查看系统版本号命令1功能:显示当前系统版本号2类型:内部命令3格式:VER(三) DATA日期设置命令1功能:设置或显示系统日期。2类型:内部命令3格式:DATE[mm——dd——yy]4使用说明:(1)省略[mm——dd——yy]显示系统日期并提示输入新的日期,不修改则可直接按回车键,[mm——dd——yy]为“月月——日日——年年”格式;(2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。(四) TIME系统时钟设置命令1功能:设置或显示系统时期。2类型:内部命令3格式:TIME[hh:mm:ss:xx]4使用说明:(1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式;(2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。(五)MEM查看当前内存状况命令1功能:显示当前内存使用的情况2类型:外部命令3格式:MEM[/C][/F][/M][/P]4使用说明:(1)选用/C参数列出装入常规内存和CMB的各文件的长度,同时也显示内存空间的使用状况和最大的可用空间;(2)选用/F参数分别列出当前常规内存剩余的字节大小和UMB可用的区域及大小;(3)选用/M参数显示该模块使用内存地地址、大小及模块性质;(4)选用/P参数指定当输出超过一屏时,暂停供用户查看。(六) MSD显示系统信息命令1功能:显示系统的硬件和操作系统的状况。2类型:外部命令3格式:MSD[/I][/B][/S]4使用说明:(1)选用/I参数时,不检测硬件;(2)选用/B参数时,以黑白方式启动MSD;(3)选用/S参数时,显示出简明的系统报告。DOS批处理文件 DOS下的可执行文件有三种,分别是EXE,COM和BAT。其中,EXE和COM文件都是二进制形式的,只有BAT文件是文本形式的,可以直接阅读。因此,BAT文件和以上二进制可执行文件相比,内容要简单的多。这些文件内包含着DOS命令的集合,通常叫作批处理文件。批处理文件的组成虽然比较简单,但其用处非常大,使用也比较广泛。比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。AUTOEXEC.BAT就是一个特殊的批处理文件,它在DOS的启动时自动运行,在系统的配置中发挥着非常大的作用。因此,要学好DOS,就要学好批处理文件。下面介绍批处理文件的命令及其使用。DOS自带的批处理命令:@:将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。如@ECHO OFF命令就在批文件首经常用到。CALL:从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。用法:CALL [批文件名]注:也可以使用COMMAND /C命令完成同样的操作。CHOICE:选择命令。这是一个DOS外部命令,但它主要用在批文件中。CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。ECHO:显示指定的信息。通常显示在屏幕上。如ECHO Hello将在屏幕上显示Hello的字样。另外,ECHO ON|OFF用来设置在批文件执行时是否显示命令本身。而ECHO OFF与@的意思一样,但它是一个单独的命令,而不能像@那样放在其它命令之前。FOR:对于指定的文件运行相应的命令。大家知道,DOS下许多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,并非所有的DOS命令都支持通配符,如TYPE(文件内容显示命令)就不支持。有了FOR命令就没有关系了,利于它可以使TYPE命令可以一次显示多个文件。用法:FOR %变量名 IN (文件集) DO 命令 [命令参数]注:以上是FOR命令的固定形式,IN和DO的位置必须正确,否则将提示语法错误。如FOR %F IN (*.*) DO TYPE %F命令就可以实现TYPE命令一次显示多个文件。注:%F是变量名,也可用%G等代替,但前后必须一致。在批文件中用%%F代替。GOTO:转到批文件内部的某个标号下执行。大家知道,在编程中往往需要重复或跳转到某个地方继续执行,如BASIC语言中的GOTO命令。批文件中的GOTO命令也可以完成类似的功能。用法:GOTO [标号名]其中,标号名是可以随意设置的,如Hello等。设置标号用“:”符号,如“:Hello”,这时用GOTO Hello命令将转到“:Hello”所在的位置继续执行批文件。IF:条件判断命令。这是一项很有用的批处理命令。用法1:IF [NOT] EXIST 文件名 命令 [命令参数]意义:如果[不]存在某个文件将执行某个命令。用法2:IF [NOT] ERRORLEVEL 错误返回代号 命令 [命令参数]意义:如果错误返回代号[不]大于或等于指定的代号将执行某个命令。其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如执行成功,执行失败,或被用户中断等),这些命令会返回不同的代号,以表示不同的结果。IF ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果当前的错误返回代号大于或等于1时将在屏幕上显示“OK!”的字样。用法3:IF [NOT] 字符串1==字符串2 命令 [命令参数] 意义:当字符串1和字符串2[不]相等的时候执行某个命令。PAUSE:暂停批文件的执行,并显示“按任意键继续”的字样。REM:添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。SHIFT:在批文件中改变可替换参数的位置。可替换参数是一种特殊的参数,只能用在批文件中。这些参数是由使用者在执行批处理命令时输入的。比如,我们执行DIR /S /W命令,其中DIR是命令名,/S和/W是它的执行参数。在批文件中,这些命令参数将被分别赋予到可替换参数中,如/S就成的%1,/W就可了%2,以至类推,而命令本身则被赋予%0中。批文件就是利用可替换参数对执行时输入的参数来进行操作的。比如现在有个批处理文件叫MYFILE.BAT,在命令行下执行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判断出%1等参数的值,然后根据这些值的不同执行不同的操作,如IF "%1"=="YES" GOTO YES。SHIFT命令不带任何参数,执行结果是将%0的值换成原%1的值,而原%1的值变成的原%2的值,以此类推。注意它的不可逆转性。因为批处理文件执行时的运行参数可能很多,可能会超过10个,而可替换参数只能从%0到%9,若想取得%9以后的参数值,只能使用SHIFT命令。这时,整个参数列将向前推。 以上是DOS的自带批处理命令,可以看出,这些命令是非常少的,若要编写较复杂的程序,用以上的命令显然不可能实现。这时就需要其它实用的批处理工具了,著名且实用的有TESTIF,STRING,ASET,BATCHMAN,WBAT等,均可在“DOS软件分类下载”中的“脚本工具”中下载。在批处理文件中使用以上的工具可以实现非常强大的功能,甚至可以完成许多高级语言程序的功能。所以,如果您想编者按写批处理文件的话,它们是您不错的选择,不仅有详细的文档,而且还在不断发展中。 下面就要谈批处理文件的制作了。其实制作批处理文件并不难,只要掌握了方法就行了。随着您操作次数的增多,您会觉得越来越容易的。 首先使用一个文本编辑器,如DOS自带的EDIT命令或其它的编辑工具,如PEDIT等新建一个空白文件(当然,用COPY CON命令直接创建也行),然后在其中根据您想完成的功能输入批处理命令。如果您只是想执行一些的DOS命令的集合,则按顺序在每行输入一个DOS命令就行了。但如果您是想完成一些更复杂的操作,就需要以上的批处理命令或上述的批处理工具了。 以下是我原来所编的一个从1%慢慢增加到100%的批处理小程序,大家可以用作参考,以编写自己的程序。@echo offbreak offclsset c=0writext 10 1 Wait…be delay 4:loopwritext 10 9 %c%%%�completed.count cif not %c%==101 goto loopecho.set c=kpush /fbreak on 其中,我用到了WRITEXT,COUNT,BE和KPUSH,这些都是批处理工具。WRITEXT是ECHO的增强工具,可以自定义显示的效果。COUNT是变量的计算工具,如原来C的值为1,执行COUNT C后C的值就为2。BE是个强大的批处理增强工具,在Norton Utilties 8.0中带有。KPUSH是键盘缓冲工具。 总之,利用批处理命令和批处理增强工具,我们可以编出许多强大的批处理文件来,大家不妨一试。许多批处理工具可以在“脚本工具”中下载。DOS在WINDOWS下的优势 大家现在已能熟练地操作WINDOWS了,初学者根本不知道“DOS”是何物?但是一旦系统崩溃,又要回到“原始社会”–DOS。 其实在DOS下的一些命令是WINDOWS下无可比拟的(太夸张了些^-^)。首先介绍几个DOS下的命令: 一、delete(DEL)。大家一定要说这不是删除命令吗?对!就是删除命令。它能删除在WINDOWS下无法删除的文件。比如:Win386.swp(虚拟内存),定期删除可减少硬盘碎片,删除后重启自动可生成Win386.swp。然而在WINDOWS下用鼠标左键单击选定,按键盘上的Delete,弹出确认框:确实要把“Win386.swp”放入回收站吗?单击确定。又弹出一错误框:无法删除WIN386:访问被拒绝,请确定磁盘未满或未被写保护,而且文件未被使用。各位读者是不是遇到这种情况? 二、doskey(锁定命令)。大家一定
⑧ bat 判断字符长度
echo %value%|findstr "………*">nul||(…)(…)
⑨ 请问怎么用批处理显示文件名和大小
把你原来代码放上来,我改改。顺序不对,你可以输出时调整的。
网上找到现成代码,亲测可用:
::最大文件大小不超过2G的可以这样@echooff(for/f"delims="%%ain('dir/a-d/b/os^|find/i/v"%~nx0"')doset/asize=%%~za/10485762>nul&&callecho;%%a%%size%%MB)>"文件名及大小.txt"pause
保存成1.bat,双击,当前文件夹下就生成一个“文件名及大小.txt”,打开就是你要的内容。
⑩ bat 批处理 把文件名的字数缩为50字节
把下面的批处理存为rento50.bat,放在那个文件夹下面,双击运行即可。@echo off@setlocal enabledelayedexpansion@for /f "delims=" %%i in ('dir /a-d /b ') do (@set fn=%%~ni@set fx=%%~xi@set nfn=!fn:~,50!@ren %%i !nfn!!fx!)