bat中运用for /r命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat中运用for /r命令相关的知识,希望对你有一定的参考价值。

bat中如何运用for /r命令达到这样的效果:
运行这个BAT,提示按任意键继续,然后我们按了一个键后执行这个语句的效果:del C:\123\456.txt
CHOICE怎么用啊
我再加10分

  FOR命令就是把读取的东西,然后赋值给变量。
  FOR有4个参数/d、 /l 、 /r 、 /f
  每个参数的意思分别如下:
  /d:仅为目录
  如果Set (也就是我上面写的"相关文件或命令")包含通配符(*和?),将对与Set相匹配的每个目录(而不是指定目录中的文件组)执行指定的Command。
  /R:递归
  进入根目录树[Drive:]Path,在树的每个目录中执行for语句。如果在/R后没有指定目录,则认为是当前目录。如果Set只是一个句点(.),则只枚举目录树。
  /L:迭代数值范围
  使用迭代变量设置起始值(Start#),然后逐步执行一组范围的值,直到该值超过所设置的终止值(End#)。/L将通过对Start#与End#进行比较来执行迭代变量。
  /f:迭代及文件解析
  使用文件解析来处理命令输出、字符串及文件内容。使用迭代变量定义要检查的内容或字符串,并使用各种ParsingKeywords选项进一步修改解析方式。
参考技术A 首先我自己检讨下,不好意思,看来我真的是孤陋寡闻了,CHOICE命令在以前的系统上是有的,但是现在的系统已经找不到了,而且,你说的for /r也确实是存在的,真的是丢人啊,主要是很久没有DOS了,刚刚用了下CHOIC居然找不到这个 命令了,到SYSTEM32下面也找不到,看来XP系统已经把这个给裁减掉了,HELP了一下FOR 才发现你说的FOR /R是存在的。汗颜哦,好了废话了这么多主要是检讨下,
下面的就是你要的明命令语句,很简单就两句话,希望对你有帮助
pause
for /r c:\123 %%f IN (456.txt) Do del %%f
上面的FOR语句相当与下面的语句
cd c:\123
del 456.txt
还有什么不明白的我们可以一起讨论。本回答被提问者采纳

DOS,批处理bat中的DIR命令

我发现如果要列出指定的文件夹(只列文件夹),用DIR的话,如果根目录下也有这个文件夹就DIR不出,这是为什么,怎么解决?

dir 命令:显示目录中的文件和子目录列表。就是说只列出本目录下的文件,不包括本身。

你指定文件夹后,就是相当于在本目录下列出文件,所以不会显示你指定的目录。

@echo off

for /r  %%i in (.) do (
 
echo,%%~dpni" 
)

pause

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上代码,保存为BAT文件。

参考技术A 使用Dir/?可以查询更多的使用方法,依你所述,你可能是Dir的是系统盘,或者其他被隐藏的盘了,你可以使用该命令的参数来指定更多的条件 参考技术B 不会这样啊,是不是你写错代了呢?

以上是关于bat中运用for /r命令的主要内容,如果未能解决你的问题,请参考以下文章

请问BAT命令如何截取特定字符串,例如截取 com/ajsnfjakfb@sgsr 中/到@之间的内容?

bat中的“for”的用法。~

求个指教批处理bat网络检测,网络通则启动程序一,网络不通启动程序二?

bat中for /f 如何截取任意行

DOS,批处理bat中的DIR命令

BAT/CMD中将命令执行结果赋值给变量