范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Windows批处理for命令详解

  摘自Windows XP的帮助文档。
  For对一组文件中的每个文件运行指定的命令。
  语法
  for {%variable|%%variable} in (set) do command [ CommandLineOptions]
  参数
  {%variable|%%variable}
  必需。代表可替换的参数。使用 %variable 通过命令提示符执行 for 命令。使用 %%variable 在批处理文件中执行 for 命令。变量要区分大小写,并且必须用 Alpha 值表示,例如,%A、%B 或 %C。
  (set)
  必需。指定要用指定命令处理的一个或多个文件、目录、数值范围以及文本字符串。需要括号。
  command
  必需。指定要对包括在指定 (set) 中的每个文件、目录、数值范围以及文本字符串所执行的命令。
  CommandLineOptions
  指定要通过指定命令使用的任何命令行选项。
  /?
  在命令提示符显示帮助。
  注释
  使用 for
  可以在批处理文件中或直接从命令提示符使用 for 命令。
  使用批处理参数
  下列属性适用于 for 命令:
  for 命令使用指定 set 中的每个文本字符串替换 %variable 或 %%variable,直到 command 处理所有文件为止。
  记住,for variable名是区分大小写、全局的,并且每次总共不超过 52 个是活动的。
  要避免批处理参数从 %0 到 %9 混淆,对 variable 可以使用除数字 0 到 9 之外的任何字符。对于简单的批处理文件,单个字符即可奏效,例如 %%f。
  在复杂的批处理文件中可以使用 variable 的多个值来区分不同的可替换变量。
  显示一组文件
  set 参数可以代表单个或多个文件组。可以使用通配符(即,* 和 ?)指定文件组。以下为有效文件组:
  (*.doc)
  (*.doc *.txt *.me)
  (jan*.doc jan*.rpt feb*.doc feb*.rpt)
  (ar??1991.* ap??1991.*)
  在使用 for 命令时,set 中的第一个值代替 %variable 或 %%variable,然后由指定的命令处理该值。这一直会继续下去,直到处理完与 set 值相对应的所有文件(或文件组)为止。
  使用 in 和 do 关键字
  In 和 do 不是参数,但必须将它们与 for 一起使用。如果省略其中任何一个关键字,就会出现错误消息。
  使用 for 的其它形式
  如果命令扩展名处于启用状态(即,默认设置),则支持 for 的下列其它形式:
  仅为目录
  如果 set 包含通配符(* 和 ?),则为匹配 set 的每个目录(而不是指定目录中的文件组)而执行指定的 command。语法是:
  for /D {%% | %}variable in (set) do command [CommandLineOptions]
  递归
  进入根目录树 [Drive:]Path,在树的每个目录中执行 for 语句。如果在 /R 后没有指定目录,则假定为当前目录。如果 set 只是一个句号 (.),则只列举目录树。语法是:
  for /R [[Drive :]Path] {%% | %}variable in (set) do command [CommandLineOptions]
  重复数值范围
  使用迭代变量设置起始值 (start#) ,然后一步步执行一系列设置范围的值,直到该值超过设置的终止值 (end#)。/L 将通过对 start# 与 end# 进行比较,执行迭代变量。如果 start# 小于 end#,就会执行该命令。如果迭代变量超过 end#,则命令解释程序退出此循环。也可以使用负 step# 以递减数值的方式一步步执行此范围内的值。例如,(1,1,5) 生成顺序 1 2 3 4 5,而 (5,-1,1) 则生成顺序 (5 4 3 2 1)。语法是:
  for /L {%% | %}variable in (start#,step#,end#) do command [CommandLineOptions]
  重复和文件解析
  使用文件解析过程处理命令输出、字符串和文件内容。使用迭代变量定义要检查的内容或字符串,以及使用各种 ParsingKeywords 选项进一步修改解析方式。使用 ParsingKeywords 令牌选项指定哪些令牌应该传递为迭代程序变量。注意:在没有使用令牌选项时,/F 将仅检查第一个令牌。
  文件解析过程包括读取输出、字符串或文件内容、分成独立的文本行及然后将每行解析成零个或更多个令牌。然后通过设置为令牌的迭代程序变量值,调用 for 循环。默认情况下,/F 传递每个文件每一行的第一个空白分隔符号。跳过空行。语法的不同点为:
  for /F ["ParsingKeywords"] {%% | %}variable in (filenameset) do command [CommandLineOptions]
  for /F ["ParsingKeywords"] {%% | %}variable in ("LiteralString") do command [CommandLineOptions]
  for /F ["ParsingKeywords"] {%% | %}variable in ("command") do command [CommandLineOptions]
  filenameset 参数指定一个或多个文件名称。在继续到 filenameset 中的下一个文件之前,每个文件都会被打开、读取和处理。要覆盖默认解析行为,指定 "ParsingKeywords"。这是一个引用字符串,它包含一个或多个关键字以指定不同的解析选项。
  如果使用 usebackq 选项,请使用如下语法之一:
  for /F ["usebackqParsingKeywords"] {%% | %}variable in ("filenameset") do command [CommandLineOptions]
  for /F ["usebackqParsingKeywords"] {%% | %}variable in ("LiteralString") do command [CommandLineOptions]
  for /F ["usebackqParsingKeywords"] {%% | %}variable in (`command`) do command [CommandLineOptions]
  下表列出可以用于 ParsingKeywords 的解析关键字。
  关键字 说明
  eol=c 指定行尾字符(只一个字符)。
  skip=n 指定在文件的开头跳过的行数。
  delims=xxx 指定定界符集合。这将替换空格和制表符的默认分隔符集。
  tokens=x,y,m-n 指定将哪些令牌从每行传递到每个迭代的 for 正文。结果就分配了附加变量名称。m-n 格式是一个范围,指定从 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 展开到只包含短名称的完整路径名。
  %~dp$PATH:I 在 PATH 环境变量中所列出的目录中搜索 %I,并展开到第一个找到结果的驱动器号和路径。
  %~ftzaI 将 %I 展开到输出行(如 dir一样)。
  在上述范例中,可以用其它有效值替换 %I 和 PATH。有效的 for 变量名终止 %~ syntax。
  使用大写变量名(例如 %I),可以使代码更具可读性,并且避免与不区分大小写的修改程序混淆。
  解析字符串
  通过将 Filenameset 包括在圆括号内,并且外面再带上单引号(即,"filenameset"),可以使用 for /F 对直接字符串解析逻辑。将 Filenameset 视为从某个文件输入的单行,然后接受解析。
  解析输出
  通过将圆括号之间的 filenameset 变为后面带有引号的字符串,可以利用 for /F 命令解析命令输出。将它作为命令行,此命令被传递给子 Cmd.exe,并将输出捕获到内存并进行解析,就象它是一个文件一样。
  范例
  要在批处理文件中使用 for,请使用以下语法:
  for %%variable in (set) do command [CommandLineOptions]
  要通过使用可替换变量 %f 显示当前目录中扩展名为 .doc 或 .txt 的所有文件的内容,请键入:
  for %f in (*.doc *.txt) do type %f
  在前述范例中,当前目录中扩展名为 .doc 或 .txt 的每个文件都被替代为变量 %f ,直到每个文件的内容都显示为止。要在批处理文件中使用该命令,只需使用 %%f 替换 %f 的每个事件。否则忽略此变量,并显示一条错误消息。
  要解析文件,同时忽略注释行,请键入:
  for /F "eol=; tokens=2,3* delims=," %i in (myfile.txt) do @echo %i %j %k
  这个命令解析 myfile.txt 文件的每一行,忽略以分号开头的行,将第二和第三个令牌从各行传递到 FOR 正文(令牌通过逗号或空格分隔)中。FOR 语句的正文引用 %i 以获得第二个令牌,引用 %j 以获得第三个令牌,引用 %k 以获得其余全部令牌。如果您提供的文件名包含空格,请使用引号将文本引起来(例如,"File Name")。要使用引号,必须使用 usebackq。否则,就将引号解释为定义要解析的文字字符串。
  %i 在 FOR 语句中明确声明,并且 %j 和 %k 使用 tokens= 隐含声明。只要它不会引起尝试声明高于字母"z"或"Z"的某个变量,则使用 tokens= 可以指定最多 26 个令牌。
  要通过将 filenameset 放在括号之间来解析命令输出,请键入:
  for /F "usebackq delims==" %i IN (`set`) DO @echo %i
  这个范例列举当前环境中的环境变量名。

苹果8plus在2021年还值得买吗?在哪里买最合适?前言最近有朋友告诉我想买一款二手的iPhone8plus,问我怎么样?实际我一直觉得苹果手机的二手买起来手机是最划算的,因为客观一点来说,ios的系统相比安卓确实在长时间使用之后,外媒苹果第二次秋季发布会将专注于新款Mac和iPad外媒macrumors刊文称,彭博社记者MarkGurman日前报道,在周二的Californiastreaming活动中,苹果将发布iPhone13AppleWatchSerie苹果iPhoneSE3曝光,将采用多彩配色据外媒报道,2022年苹果将推出iPhoneSE3,不会再推出iPhone14mini手机,低价的iPhoneSE3最早将于明年上半年发布,它将成为最便宜的5GiPhone手机。近聊聊新能源车的发展新能源车该有的样子先谈谈在怎么样的大背景下?中国开始抢新能源车赛道一,石油作为汽车燃料也很多年,并且存在着对大气污染特别是二氧化碳的排放,大家都在找新的清洁能源,如氢能源车,日本在520万新能源汽车该咋选?这三款好开性价比高,你不考虑一下?不得不说,现在新能源汽车真的是雄起了,其火热程度并不亚于传统能源汽车,甚至在销量上也呈现出高歌猛进的态势。那么当下,究竟有哪些新能源汽车值得购买呢?今天凹凸君专门挑了3款车型,涉及8月新能源汽车产销量首次超30万辆,比亚迪压特斯拉居第二位中国汽车工业协会10日发布的信息显示,8月份我国新能源汽车市场依然跑赢大市,产销环比和同比继续保持增长。8月,新能源汽车生产30。9万辆,同比增长1。8倍。其中纯电动汽车生产25,2021年7月新能源汽车销售排行榜(TOP20)与2020年7月相比,7月全球新能源汽车注册量增长了94,达到48万辆(占整个汽车市场的7。1)。这使它成为新能源市场有史以来第三好的月份。7月份,全电动汽车(BEV)占新能源汽车小米MIUI12。5。8稳定版发布,带来众多修复和优化,更稳定流畅了目前,小米MIUI又对MIUI12。5系统的稳定版进行了修复和优化,目前推送了MIUI12。5。8稳定版的更新,应该很多手机都收到推送了,相比上一版本,MIUI12。5。8稳定版修iOS15即将推出新功能扎堆iOS15发布日期2021年9月苹果在6月7日的年度全球开发者大会上发布了iOS15。新操作系统优先提供开发者版本,并于6月30日提供公开测试版可供下载。苹果首席执行官蒂姆库克表示华为发布安卓模拟器PC无缝运行安卓APP,支持平行视界功能想在PC上运行安卓应用可以通过各种安卓模拟器,例如雷电模拟器夜神逍遥MuMuBlueStacks等等,这些安卓模拟器实际上就是基于虚拟机的一种,运行起来性能欠佳,加上这些安卓模拟器小伙儿将iPhoneXR改成iPhone12,一般人还真看不出来前几天有商家在朋友圈发,iPhoneXR才是YYDS。原因是iPhone13还没上市,市面上已经有iPhoneXR改iPhone13的案例了!iPhoneXR从上市就被人改,有改i
露营演变史由房车到家用车,由家用车再到新能源汽车?随着我们生活水平的不断提高,如今越来越多人喜欢在假期期间选择去自驾游,这时候就有不少人推荐使用房车出行,但房车只适合假期出行,并不适合日常使用,因此也就衍生出了露营。不过,露营其实显卡平均价格终于开始下滑,多重因素推动或形成下跌趋势近期3DCenter汇总了最新的显卡价格趋势,自从进入2022年以来,英伟达GeForceRTX30系列和AMDRadeonRX6000系列显卡的价格都出现了下滑,似乎已成为了趋势让年轻人说话,天不会塌文章来自微信公众号记忆承载。欢迎关注阅读全文。腾讯有个应届生,怒怼上司并辞职,上了热搜,很多人表示好样的。我看了下,这孩子干的事情真的是只有这代人才干的出来,80后真做不出来,70iPhone14将放弃实体SIM卡槽?可能会逐渐过渡上个月有消息称,苹果已暗示美国主要运营商为2022年9月之前推出仅限eSIM的智能手机做好准备,表明至少有一款iPhone14可能缺乏实体SIM卡槽。GlobalData分析师EmiOS15。3正式版发布,修复多个漏洞,升级建议从苹果安全文档可以看到,iOS15。3正式版修复了多个漏洞,包括CrashReporter漏洞,可获取root权限关于iCloud的漏洞,能够访问用户的隐私文件关于IOMFB的内核若人类每天凌晨3点入睡,6点起床,白天靠毅力偶尔趴几次,未来会不会进化到每天只需三小时的睡眠时间?这个问题很有趣。确实生物应该会因环境或习惯而进化,比如因常在没光处生活而让眼睛废了。其实你有真正想过一天你真的睡几个小时?我不知道如何让自己每天定时入睡还有只睡三小时,因为要考虑环AI癌症检测手机拍照就能检测肿瘤,也太牛了吧近日麻省理工学院发布了一种可以帮助检测黑色素瘤的人工智能,它利用深层卷积神经网络,快速分析患者皮肤的广域图像,可以更有效检测癌症。它的工作原理是先使用智能手机摄像头拍摄一张病人的皮柔宇员工称欠薪已到账,公司分批发薪在职员工将优先收到欠款南都讯记者严兆鑫距离柔宇科技宣布部分员工放长假时隔一个月,5月7日,南都湾财社记者从柔宇科技员工处获悉,目前自己被欠的工资已经到账。此外,其向公司咨询工资事宜时,相关人士口头回复称从敬仰到指责,马云究竟做了什么,口碑为何两极分化?作为阿里巴巴的创始人,中国电商鼻祖的马云,在2012年以前还是被许多年轻的中国人视为民族的骄傲。正是因为阿里巴巴的努力,中国的许多数字化以及智能化的公共服务,才能在这么短的时间内迅未来10年的新赛道已经出现,资本大佬们已经开始争抢了近日,继互联网裁员大潮之后,京东掌门人刘强东也宣布自己卸任,今后将致力于公司重大战略决策的部署,同时将眼光投入到培养年轻人才和乡村振兴事业上来。刘强东真的打算退休了吗?互联网近几十山东支付宝大爷因名字走红,状告马云索赔100万,最终赔了多少?你可曾知道因为支付宝这个软件的诞生,让人想状告马云,让他赔偿自己一百万元的精神损失费。你又是否好奇本是农民的他,又怎么会和支付宝扯上关系?记录时代印记,回忆经典瞬间,品鉴百味人生。