ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:38KB ,
资源ID:9772170      下载积分:6 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9772170.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(批处理(bat)命令学习的一些总结.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

批处理(bat)命令学习的一些总结.doc

1、   一、set 篇:   1、set(无开关)   set .=test   set.   ::若一个变量以:\.这三个与路径相关的符号开头,用set查看以该字符打头的变量时可以省去一个空格。   echo %tmp:*\=%   ::显示tmp变量第一个\之后的部分,其余变量替换与变量偏移太简单不解释   2、set /p 变量名=注释<设备名   当设备名为文件时,因为文件中换行符与回车符伴生,所以只取文件第一行作为var变量的内容,但是不超过1024字节;而当设备名为nul或者com3时,只显示不换行的注释,这种情况下可以省略变量名(如:set /p=hel

2、lo world   3、set /a,最具技巧的命令之一   set /a n=1,m=2   ::同时把不同数值分别赋予两个变量   set /a a=b=c=d=e=f=1   ::用一条算式为多个变量同时赋值   set /a 1/n 2>nul||echo 变量n非纯数字或为零   ::利用分母不能为0的特征,用set判断一个变量是否为非零纯数a n=~-100   ::利用~将所有二进制的1、0逆转,负号在后或在前配合可以实现简单加1或减1,这个技巧主要用来减少括号的使用,因为~号与负号的优先级都是高于算数运算符的   set /a test=%test:~

3、5,1%-0   ::可以避免%test:~5,1%为空时出错的情况   set /a 十进制=0x十六进制,十进制=0八进制   ::快速将十六进制与八进制数转为十进制,可惜没有二进制...   :loop   set /a n+=1001   echo %n:~-3%   goto loop   ::这比常规的补位方法更优越   for %%a in (test 123 abc test @#$ 123) do set /a .%%a+=1   set .|findstr /v /e =1   ::经典的获取字符串的重复次数的方案   二、for 篇:   这是批

4、处理中最强的内部命令,没有之一!   1、for(无开关)   代码如下:   for %%a in (c:\*.*) do echo %%a   ::显示c盘根目录下所有非隐藏、非系统属性文件   for %%a in (.\..) do echo %%~nxa   ::显示上一级目录的文件夹名   set str=123,234,345   set str=%str:,=\%   for %%a in (%str%\..) do echo %%~nxa   ::用前一个技巧,巧取倒数第二段字符串,与for /f delims=\相映成趣   for %%a in (*

5、txt) do (   for /f useback delims= %%b in (%%a) do (   set str=%%b   for %%c in (!str:分隔符= !) do (   for /f tokens=1* %%d in (%%c) do echo %%~d   )   )   )   ::不带参数的for与for /f配合,威力极大,仅举此一例   for %%a in (123) do for %%a in (234) do for %%a in (345) do echo %%a   ::其实如果只读取最后一层for的参数,即使多层for

6、嵌套也可以使用同样的参数,比如%%a   for %%z in (!tmp!) do echo !%%z!   ::目前已知的摆脱call实现多层变量嵌套的最好方法,不少人用   2、for /l   for /l %%a in () do echo    ::无限循环,步数为0也是一样的效果,但是没这个简洁   for /l %%a in (-4 1) do echo %%a   ::for /l中的三项参数从左至右的三位分别是初始值、步数、终止点,当用户给定的数量不足时,将按从右至左的顺序把不足的一项赋为0   3、for /d /r   for /r /d %%a i

7、n (*) do echo %%a   ::可以遍历所有子文件夹,之所以可以联用r开关和d开关是因为它们的参数有交集,l开关和f开关就不行了。   4、for /f   for /f本身的技巧并不是特别多,它的优势是能够将其他命令的输出作为输入来分析,所以for /f可以说是当之无愧的内部命令之王   for /f tokens=* delims=0123 %%a in (0000123456) do echo %%a   ::去除前缀的n个字符   for /f skip=99 %%a in (1.txt) do echo 1.txt至少100行   ::以前看到某版主写的,印

8、象颇深。   for /l %%a in (1 1 10) do (   for /f tokens=1,2* delims=\ %%a in (!tmp!) do (   for %%c in (%%a %%b) do echo %%c   set tmp=%%c   )   )   ::将tokens的取值范围无限拓展   set tmp=123=234=345=456   for /l %%a in (1 1 40) do (   for /f tokens=1,2* delims== %%a in (!tmp!) do (   set str=!str!,%%a,

9、b   set tmp=%%c   )   )   echo %str:~1%   ::有时候set变量替换是无法替换一些特殊字符的,此时可以用for /f处理   set test=d:\test\   for %%a in (test.*) do (   if %%~za neq %%~z$test:a replace /p /u %%a %%~dp$test:a   )   ::判断当前目录下以test为名的文件是否在d:\test\文件夹下存在同名文件,如果存在且大小不同、修改日期更早,则替换之,否则不做处理。for帮助信息中的“%%~dp$path:a”参数似

10、乎没见人用过,虽然它的适用范围很狭隘,但是特定的情况下不妨一试。   setlocal enabledelayedexpansion   set t=tmp   set @=t   for /f %%a in ('echo !%@%!') do echo !%%a!   ::另一种三层嵌套方法,其实不实用。   三、findstr 篇   我最钟爱的命令,可惜外部命令的启动速度太慢,所以实际运用时较少露面。   findstr /s /m .* *.*   ::其实findstr也是一个dir,虽然比dir慢些,却多了查找文件内容的功能   findstr /n .* 1.

11、txt|findstr ?0:   ::非常实用的取指定行的方法,配合正则可以取指定范围之内的行   set /p n=请输入数字或大小写字母   (echo !n!)|findstr /i [0-9a-z]&&echo 输入有误!   ::这个够实用吧?不解释   dir|findstr ['-z]   ::利用findstr和if命令中字符的实际大小顺序实现查找含有宽字符的行   findstr /x .......... 1.txt   ::查找1.txt中10字节的行   (type 1.txt&echo;)|findstr /o .*|mor

12、e +1   ::加上for,很容易获取1.txt每行的字节数   findstr>1.txt /m /p .* *.*   dir /b /a-d|findstr>2.txt /v 的思路,但是存在排序有可能被打乱的缺陷,所以加了个find弥补一下   四、start、call、cmd 篇   之所以放在一起,是因为这三个命令的功能有所交集   1、start   @echo off   %1 cd.>tmp   set /p=%1   %1 start /b %0 :(五秒后退出) tm   if not %1== goto %1   set /p

13、 n=输入任意字符   if defined n (   del tmp   echo 您输入的是%n%,五秒后退出。   ) else echo 输入为空!五秒后退出。   :(五秒后退出)   ping /n 5 localhost>nul   if exist %2p exit   pause   ::妙用start /b让set /p实现choice的延时功能,不知道哪位前辈首创的,再次赞一个。此处%1、%2的技巧仅作点缀,我只是觉得这样“搭积木”很好玩才强加上去的。   2、call   set a=b   set b=c   call echo %%

14、a%%%   ::不使用变量延迟仍然可以借助call实现变量的延迟读取与嵌套,但是效率上有缺陷   3、cmd   set a=b   set b=c   cmd /c echo %%%a%%%   ::这证明call一个命令时的效果近似于cmd /c,二者的区别体现在for和if这两个命令不能用call运行,因为for和if其实可能只是关键字,而非真实存在的命令   set a=b   set b=c   cmd /v:on /c echo !%a%!   ::不需要setlocal,照样可以使用变量延迟   %1 %0 :: echo;成功调用自身   %2  

15、 ::个人很常用,这里用%1和%2的技巧为我所偏爱,那个::可以视情况换为rem。虽然此处并未出现cmd命令,但其实运行自身时执行的就是cmd /c %0。   @echo off   %1 cmd /v:on /c %0 ::   set n=123   echo !n!   pause   ::综合前两个技巧实现不使用setloat是cmd /c %1 %*,所以把exe当做bat运行时,相当于cmd /c 1.exe...不过这只适合双击打开,在cmd内部调用此文件的时候是当成真正的bat运行的,所以会出错。   五、其他命令篇   1、xcopy比copy强大得多,最大

16、的遗憾在于它是外部命令   xcopy /a 源文件夹 目标文件夹   ::xcopy用在筛选上也很实用   xcopy /l /y /n %cd% ..   ::巧取当前目录下文件的短名,并不会真的复制   xcopy /d:1-31-2011 /l %cd% tmp\   ::获取修改日期在2011年1月31日以后的文件清单   xcopy /t *.txt c:\test\   ::复制含有txt文件的目录结构到c:\test   @echo 1.txt>list   xcopy /exclude:list ?.txt test\   ::复制所有以单个字符为

17、名的文件到test文件夹   xcopy /s *.txt ..\txt\   ::复制所有以txt为名的子文件到2、相比于前面几个大佬级的命令,这些命令算是比较不起眼的了,所以归在一类   copy nul+unicode.bat 解密.bat   ::用unicode文件头来进行编码混淆加密的bat,可以用这条命令解密   echo>tmp 12323412 2323242134122434 345   more /t20 tmp>对齐.txt   type 对齐.txt   pause   ::more命令的t开关也有大用途,潜规则不解释。   cmd /

18、u /c echo 0123456789|more   ::more命令会将cmd /u输出的nul字符转换为空格,从而实现逐字打印一行单字节字符。   @echo off&setlocal enabledelayedexpansion   set n=32768   (for %%a in (16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do sort /rec !n! %0&&set /a n-=%%a||set /a n+=%%a)>nul 2>nul   echo 最长行有%

19、n%个字符   pause   ::当最长的行字符数大于128时可能可以用这个来判断最长行的字符数(短于128时rec开关会失效,代码中那一大堆2的n次方就是凑字数的,实战中可以省掉一些),支持超长字符串,计算大文件时效率明显优于传统算法,新折半法来自plp626的转帖,sort的/rec开关比较鸡肋,想来想去也只想到这个用途,未见先例   ren 1.exe 1.bat   echo 请双击1.bat   ::为什么可以把exe改为bat后缀名运行呢?因为exe的打开方式是%1 %*,bat是cmd /c %1 %*,所以把exe当做bat运行时,相当于cmd /c 1.exe..

20、不过这只适合双击打开,在cmd内部调用此文件的时候是当成真正的bat运行的,所以会出错。而且基于同样的原因,它还可以改成com或者cmd后缀名来执行。   3、再介绍一些在cmd窗口中的技巧,当然它们仅仅是“欺骗”cmd窗口,一旦输出到文件就原形毕露:   @echo off   echo 1   echo 2   echo 3   echo 退行了   pause>nul   ::这个太牛了,不知道哪位发现的   set dq= 

21、   (echo 2、计划生育的重要性%dq%啊   echo 1、贯彻落实科学发展观%dq%哇)|sort   ::借助tab键与退格符实现多行捆绑排序并错行显示,tab与退格之间的那个空格是关键,否则变为退行   set /p=同一行显示不同颜色:   set /p=红底蓝字   echo  黄底绿字   findstr /a:41 .* 红底蓝字?   findstr /a:62 .* 黄底绿字?   del>nul 红底蓝字 黄底绿字   pause   ::经常见到的在同一行显示不同颜色的办法,不过很多人总是用  

22、 (四个退格四个空格),说明没理解退格键的意义   @prompt $_   dir fuck.tmp   pause   ::利用这个prompt,打开回显后可以同时输出命令与命令结果,而不会有多余内容,适合制作bat运行日志   echo    ::这个黑色的圆点在前面的介绍中作为配角出现过,是ansi码中的0x07,也等同于在cmd中输入的ctrl+g,它每次被显示在屏幕上时都会发出“滴”的一声,所以以后findstr *.*时一定要留神了(除非不得已,否则需要把结果显示到窗口时建议加上/p开延迟符号时,将被预处理两次,这是一定要注意的   set str=.   s

23、et str name=str   for %%a in (%tmp%) do if defined %%a echo %%a 存在变量str   ::利用for的参数变量在if参数划分之后才被解释的特点,弥补if defined对于空格变量名的兼容性缺陷,本质原因是for和if都是特殊的函数,他们的参数设置在语块的预处理中就已经被cmd“记住”了,之后无法对其进行改变。   (del %0  345) do echo %%a   ::假如随机值为偶数,则显示指定字符串第二段,否则显示整段。这里用变量来定制命令,会比常规办法(一条if和一条命令对应)更灵活和省事,但是要注意的是,变量

24、延迟是在解释语块之后进行,所以这里的%com%不能使用变量延迟。   set /a \test1=123,test2=234   (@echo off   for /f tokens=1* delims== %%a in ('set\') do echo %%b   )|sort   ::sort对for命令的输出进行排序,那个@echo off并非多余,因为通道之前的若是语块(for、if或者被成对括号包起来的语句),该语块中的内容将会以cmd /c的形式运行,此时的回显是打开的,而变量延迟则是默认关闭的。   dir /ad 123\&&md234||rd 34

25、5&tree /f|more   ::当存在123文件夹时,创建234文件夹,否则删除345文件夹,无论结果如何,接下来都会逐屏显示当前目录树。重点是管道命令、逻辑连接符的灵活运用   2、句柄的妙用   @echo off 2>nul 3>nul   这个命令不存在...   echo 错误回显呢?   pause   ::句柄备份,可用于屏蔽所有正确或错误回显   cd.>1.txt 2>2.txt 3>3.txt 4>4.txt 5>5.txt 6>6.txt 7>7.txt 8>8.txt 9>9.txt   ::用一个命令创建9个文件,效率自然提高了   @echo off   (for /r %%a in (*.*) do del /f /s %%~nxa 3>>%%a) 2>nul 4>>%0   pause   ::利用写入句柄会占用文件的特性实现高效删除重复文件   待续...   

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服