Python学习记录
脚本学习%f、%i、%0~9
你的问题主要涉及到Windows批处理脚本的一些基本概念,包括for /f
循环、参数表示以及for /r
和for /d
的区别。下面我将详细解释这些概念。
-
%%a
在for /f
循环中的用法:
for /f "tokens=*" %%a in ('dir/b/s') do ()
这个命令的意思是,执行dir/b/s
这个命令,然后对返回的结果进行遍历。%%a
在这里代表每一行的结果,每次循环都会将下一行的结果赋值给%%a
。 -
%0~%9
表示传递的参数:
当你在批处理文件中使用参数时,%0
表示批处理文件本身,%1
表示第一个参数,%2
表示第二个参数,以此类推,直到%9
表示第九个参数。例如,如果你有一个名为hello.cmd
的批处理文件,你可以通过以下方式调用它并提供参数:call hello.cmd “aa” “bb” “cc”
。在这个例子中,%0
是hello.cmd
,%1
是“aa”
,%2
是“bb”
,%3
是“cc”
。 -
for /r
和for /d
的区别:
for /r
用于搜索指定路径及其所有子目录中符合要求的文件。如果/r
后没有指定目录,则使用当前目录。例如,for /r C:\ %i in (*.txt) do echo %i
会搜索C盘及其所有子目录下的所有.txt文件,并打印出来。
for /d
用于搜索目录或文件夹,而且只搜索指定目录,不搜索子目录。例如,for /d %i in (C:\Windows\*) do echo %i
会搜索C:\Windows目录下的所有文件夹,并打印出来。