安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

Windows批处理for命令详解

3月27日 无镇楼投稿
  摘自WindowsXP的帮助文档。
  For对一组文件中的每个文件运行指定的命令。
  语法
  for{variablevariable}in(set)docommand〔CommandLineOptions〕
  参数
  {variablevariable}
  必需。代表可替换的参数。使用variable通过命令提示符执行for命令。使用variable在批处理文件中执行for命令。变量要区分大小写,并且必须用Alpha值表示,例如,A、B或C。
  (set)
  必需。指定要用指定命令处理的一个或多个文件、目录、数值范围以及文本字符串。需要括号。
  command
  必需。指定要对包括在指定(set)中的每个文件、目录、数值范围以及文本字符串所执行的命令。
  CommandLineOptions
  指定要通过指定命令使用的任何命令行选项。
  ?
  在命令提示符显示帮助。
  注释
  使用for
  可以在批处理文件中或直接从命令提示符使用for命令。
  使用批处理参数
  下列属性适用于for命令:
  for命令使用指定set中的每个文本字符串替换variable或variable,直到command处理所有文件为止。
  记住,forvariable名是区分大小写、全局的,并且每次总共不超过52个是活动的。
  要避免批处理参数从0到9混淆,对variable可以使用除数字0到9之外的任何字符。对于简单的批处理文件,单个字符即可奏效,例如f。
  在复杂的批处理文件中可以使用variable的多个值来区分不同的可替换变量。
  显示一组文件
  set参数可以代表单个或多个文件组。可以使用通配符(即,和?)指定文件组。以下为有效文件组:
  (。doc)
  (。doc。txt。me)
  (jan。docjan。rptfeb。docfeb。rpt)
  (ar??1991。ap??1991。)
  在使用for命令时,set中的第一个值代替variable或variable,然后由指定的命令处理该值。这一直会继续下去,直到处理完与set值相对应的所有文件(或文件组)为止。
  使用in和do关键字
  In和do不是参数,但必须将它们与for一起使用。如果省略其中任何一个关键字,就会出现错误消息。
  使用for的其它形式
  如果命令扩展名处于启用状态(即,默认设置),则支持for的下列其它形式:
  仅为目录
  如果set包含通配符(和?),则为匹配set的每个目录(而不是指定目录中的文件组)而执行指定的command。语法是:
  forD{}variablein(set)docommand〔CommandLineOptions〕
  递归
  进入根目录树〔Drive:〕Path,在树的每个目录中执行for语句。如果在R后没有指定目录,则假定为当前目录。如果set只是一个句号(。),则只列举目录树。语法是:
  forR〔〔Drive:〕Path〕{}variablein(set)docommand〔CommandLineOptions〕
  重复数值范围
  使用迭代变量设置起始值(start),然后一步步执行一系列设置范围的值,直到该值超过设置的终止值(end)。L将通过对start与end进行比较,执行迭代变量。如果start小于end,就会执行该命令。如果迭代变量超过end,则命令解释程序退出此循环。也可以使用负step以递减数值的方式一步步执行此范围内的值。例如,(1,1,5)生成顺序12345,而(5,1,1)则生成顺序(54321)。语法是:
  forL{}variablein(start,step,end)docommand〔CommandLineOptions〕
  重复和文件解析
  使用文件解析过程处理命令输出、字符串和文件内容。使用迭代变量定义要检查的内容或字符串,以及使用各种ParsingKeywords选项进一步修改解析方式。使用ParsingKeywords令牌选项指定哪些令牌应该传递为迭代程序变量。注意:在没有使用令牌选项时,F将仅检查第一个令牌。
  文件解析过程包括读取输出、字符串或文件内容、分成独立的文本行及然后将每行解析成零个或更多个令牌。然后通过设置为令牌的迭代程序变量值,调用for循环。默认情况下,F传递每个文件每一行的第一个空白分隔符号。跳过空行。语法的不同点为:
  forF〔ParsingKeywords〕{}variablein(filenameset)docommand〔CommandLineOptions〕
  forF〔ParsingKeywords〕{}variablein(LiteralString)docommand〔CommandLineOptions〕
  forF〔ParsingKeywords〕{}variablein(command)docommand〔CommandLineOptions〕
  filenameset参数指定一个或多个文件名称。在继续到filenameset中的下一个文件之前,每个文件都会被打开、读取和处理。要覆盖默认解析行为,指定ParsingKeywords。这是一个引用字符串,它包含一个或多个关键字以指定不同的解析选项。
  如果使用usebackq选项,请使用如下语法之一:
  forF〔usebackqParsingKeywords〕{}variablein(filenameset)docommand〔CommandLineOptions〕
  forF〔usebackqParsingKeywords〕{}variablein(LiteralString)docommand〔CommandLineOptions〕
  forF〔usebackqParsingKeywords〕{}variablein(command)docommand〔CommandLineOptions〕
  下表列出可以用于ParsingKeywords的解析关键字。
  关键字说明
  eolc指定行尾字符(只一个字符)。
  skipn指定在文件的开头跳过的行数。
  delimsxxx指定定界符集合。这将替换空格和制表符的默认分隔符集。
  tokensx,y,mn指定将哪些令牌从每行传递到每个迭代的for正文。结果就分配了附加变量名称。mn格式是一个范围,指定从mth到nth的令牌。如果tokens字符串中最后一个字符是星号(),则将分配附加的变量,并在解析的最后一个令牌后在行上接收剩余的文本。
  usebackq指定可以使用引号引用filenameset中的文件名称,将后面带有引号的字符串作为一个命令执行,而带有单引号的字符串是文字字符串命令。
  变量替换
  已经增强了for变量引用的替换修改程序。下表列出可选语法(对于任意变量I)。
  带有修改程序的变量说明
  I展开删除任何前后引号()的I。
  fI将I展开到完全合格的路径名。
  dI只将I展开到驱动器号。
  pI只将I展开到路径。
  nI只将I展开到文件名。
  xI只将I展开到文件扩展名。
  sI展开路径以只包含短名称。
  aI将I展开到文件的文件属性。
  tI将I展开到文件的日期和时间。
  zI将I展开到文件大小。
  PATH:I搜索PATH环境变量所列出的目录,并将I展开到第一个找到的完全合格的名称。如果没有定义环境变量名称,或搜索没有找到文件,则此修改程序扩展成空字符串。
  下表列出可用来获得综合结果的修改程序组合。
  变量(使用组合的修改程序)说明
  dpI只将I展开到驱动器号和路径。
  nxI只将I展开到文件名和扩展名。
  fsI将I展开到只包含短名称的完整路径名。
  dpPATH:I在PATH环境变量中所列出的目录中搜索I,并展开到第一个找到结果的驱动器号和路径。
  ftzaI将I展开到输出行(如dir一样)。
  在上述范例中,可以用其它有效值替换I和PATH。有效的for变量名终止syntax。
  使用大写变量名(例如I),可以使代码更具可读性,并且避免与不区分大小写的修改程序混淆。
  解析字符串
  通过将Filenameset包括在圆括号内,并且外面再带上单引号(即,filenameset),可以使用forF对直接字符串解析逻辑。将Filenameset视为从某个文件输入的单行,然后接受解析。
  解析输出
  通过将圆括号之间的filenameset变为后面带有引号的字符串,可以利用forF命令解析命令输出。将它作为命令行,此命令被传递给子Cmd。exe,并将输出捕获到内存并进行解析,就象它是一个文件一样。
  范例
  要在批处理文件中使用for,请使用以下语法:
  forvariablein(set)docommand〔CommandLineOptions〕
  要通过使用可替换变量f显示当前目录中扩展名为。doc或。txt的所有文件的内容,请键入:
  forfin(。doc。txt)dotypef
  在前述范例中,当前目录中扩展名为。doc或。txt的每个文件都被替代为变量f,直到每个文件的内容都显示为止。要在批处理文件中使用该命令,只需使用f替换f的每个事件。否则忽略此变量,并显示一条错误消息。
  要解析文件,同时忽略注释行,请键入:
  forFtokens2,3delims,iin(myfile。txt)doechoijk
  这个命令解析myfile。txt文件的每一行,忽略以分号开头的行,将第二和第三个令牌从各行传递到FOR正文(令牌通过逗号或空格分隔)中。FOR语句的正文引用i以获得第二个令牌,引用j以获得第三个令牌,引用k以获得其余全部令牌。如果您提供的文件名包含空格,请使用引号将文本引起来(例如,FileName)。要使用引号,必须使用usebackq。否则,就将引号解释为定义要解析的文字字符串。
  i在FOR语句中明确声明,并且j和k使用tokens隐含声明。只要它不会引起尝试声明高于字母z或Z的某个变量,则使用tokens可以指定最多26个令牌。
  要通过将filenameset放在括号之间来解析命令输出,请键入:
  forFusebackqdelimsiIN(set)DOechoi
  这个范例列举当前环境中的环境变量名。
投诉 评论 转载

买iPhoneSE3还是华为P50e?对比6点之后,终于知道今年3月份手机圈相当热闹,无论是苹果还是华为,都发布了全新机型,目前网友们讨论最多的,自然是华为P50E和iPhoneSE3该怎么选的问题了,因为这两款手机的售价比较接近,且都……一天3块钱就可享受全方位体检?OPPOWatch2ECG版上最近AppleWatch7开售相信不少小伙伴都已经开冲了,而国行版能不能用ECG的话题又成为了大伙热议的话题。不过除了AppleWatch7外,另一款可穿戴产品旗舰OPPOWa……短视频编辑都用哪些软件呢?乐秀视频还可以。大家都知道对于短视频来说,运营是一部分,内容制作也是一部分。有很多打算做短视频的朋友问过小雨老师,有没有关于拍摄器材选择和剪辑软件的课程呀。确实,对于没有……腾讯回应向阿里开放生态,两大巨头打通到底有多难?记者陆柯言腾讯和阿里的生态到底能不能互相打通?8月18日,在腾讯2021年半年报的业绩沟通会上,腾讯总裁刘炽平回应了这个备受外界关注的问题。刘炽平认为,腾讯的……docker社区版安装1安装dockerce(社区版)条件:centos6。5以上版本三大要素:容器(container)、镜像(image)、仓库(repository)安装手册……帕瓦股份冲刺科创板IPO主营业务仍存替代隐忧前高校领导化身实在新能源车的渗透浪潮下,更多锂电中上游企业正在跻身IPO大潮。上交所5月6日召开的第36次上市委会议上,浙江帕瓦新能源股份有限公司(下称帕瓦股份)向上交所科创板递交的IP……西安电子科技大学两位教授团队研究成果被顶级国际会议ICSE2近日,西安电子科技大学网络与信息安全学院杨超教授与马建峰教授团队的关于无人机系统安全的最新研究成果ControlParametersConsideredHarmful:Dete……手机科技成果时间来到了十月份,按照按照惯例将在今年年末推出的高通骁龙898也早早地在网上有了相关爆料,但由于安卓阵营中唯一能和高通扳手腕的海思麒麟受到了外部压力,高通颇有了一家独大的感觉,……马斯克发推今年将缴税110亿美元美国有线电视新闻网(CNN)20日报道称,电动汽车制造商特斯拉创始人兼CEO马斯克19日在社交媒体推特上表示,他今年将缴纳110亿美元的个人税收,并自称是美国历史上最大的纳税大……手机有必要戴手机壳吗?手机是我们生中方便联系的一种工具,又是支付销费的时尚。微信支付,支付宝支付。上网啊,微信群。看个视频,在无聊的时候用来打发时间。玩自拍,记录生活的点滴。成了生活中的必需品,不管……Windows批处理for命令详解摘自WindowsXP的帮助文档。For对一组文件中的每个文件运行指定的命令。语法for{variablevariable}in(set)docommand〔……虚拟货币元宇宙半芯片人新奴隶社会作者:叶海锋华尔街如果大举进军虚拟币,全球实业经济将迎来大萧条,人类经济体系终将崩溃。当大家都发现虚拟币炒作更能更容易赚钱的时候,资本投资实业不再吃香,个体工作也不……
三星离开中国依然是世界第一,说明中国市场没想象的那么重要吗?踩雷卡夫亨氏,减持苹果,巴菲特还是原来的股神巴菲特吗?能称得上是20万最速量产车?聊聊领克03科技榜丨盘点10款汽车智能钥匙,技术布阵走到十字路口魅族19Pro已开始试产,有天玑9000帮忙,黄章能翻身吗?阿里华为之后,腾讯也宣布决定,谷歌不想看到的情况出现你所知道的兼职有哪些?为什么配助听器比配眼镜麻烦?辟谣!刚刚,华为再发声明为什么英特尔AMD两家公司做桌面处理器那么厉害,却没有做手机主驾无人车队在京扩容,百度再获无人化载人牌照感谢张捷教授,解构联想VIE协议控制,排财务大雷

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利