MS-DOS CMD(windows-commands)
Windows Commands
在cmd内/?
即可获得帮助信息
FOR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 对一组文件中的每一个文件执行某个特定命令。 FOR (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。 在批处理程序中使用 FOR 命令时,指定变量请使用 而不要用 如果启用命令扩展,则会支持下列 FOR 命令的其他格式: FOR /D 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。 FOR /R [[drive:]path] 检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。 如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符, 则枚举该目录树。 FOR /L 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列 1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1) FOR /F ["options"] FOR /F ["options"] FOR /F ["options"] 或者,如果有 usebackq 选项: FOR /F ["options"] FOR /F ["options"] FOR /F ["options"] fileset 为一个或多个文件名。继续到 fileset 中的下一个文件之前, 每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字, 然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。 以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。 你可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个 或多个指定不同解析选项的关键字。这些关键字为: eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这个替换了空格和制表符的 默认分隔符集。 tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代 的 for 本身。这会导致额外变量名称的分配。m-n 格式为一个范围。通过 nth 符号指定 mth。如果 符号字符串中的最后一个字符星号, 那么额外的变量将在最后一个符号解析之后 分配并接受行的保留文本。 usebackq - 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且一个单 引号字符为文字字符串命令并允许在 file-set 中使用双引号扩起文件名称。 某些范例可能有助: FOR /F "eol=; tokens=2,3* delims=, " 会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将 每行中的第二个和第三个符号传递给 for 函数体,用逗号和/或 空格分隔符号。请注意,此 for 函数体的语句引用 获得第二个符号,引用 来获得第三个符号后的所有剩余符号。对于带有空格的文件 名,你需要用双引号将文件名括起来。为了用这种方式来使 用双引号,还需要使用 usebackq 选项,否则,双引号会 被理解成是用作定义某个要分析的字符串的。 tokens= 选项隐式声明的。可以通过 tokens= 一行 指定最多 26 个符号,只要不试图声明一个高于字母 "z" 或 "Z" 的变量。请记住,FOR 变量是单一字母、分大小写和全局的变量; 而且,不能同时使用超过 52 个。 还可以在相邻字符串上使用 FOR /F 分析逻辑,方法是, 用单引号将括号之间的 file-set 括起来。这样,该字符 串会被当作一个文件中的一个单一输入行进行解析。 最后,可以用 FOR /F 命令来分析命令的输出。方法是,将 括号之间的 file-set 变成一个反括字符串。该字符串会 被当作命令行,传递到一个子 CMD.EXE,其输出会被捕获到 内存中,并被当作文件分析。如以下例子所示: FOR /F "usebackq delims==" 会枚举当前环境中的环境变量名称。 另外,FOR 变量参照的替换已被增强。你现在可以使用下列 选项语法: 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩展到 空字符串 可以组合修饰符来得到多重结果: 到找到的第一个驱动器号和路径。 在以上例子中, 用一个有效的 FOR 变量名终止。选取类似 比较易读,而且避免与不分大小写的组合键混淆。
dir 列出文件
cls 清屏
timeout keyword: cmd timeout 无效
做一个延时执行的批处理命令,选用timeout命令来实现,但是碰到一个情况是写完后直接双击运行时,timeout 命令运行不了。
选择管理员权限运行就可以了。
bat命令需要查看权限,注意使用win+R进入cmd是具有管理员权限的,但是直接双击打开的bat文件是没有管理员权限的,没有对应的权限,有些对系统级别的控制,会出现奇怪的现象。
NOTE mklinkC盘程序搬家 命令参数
1 mklink[[/d]|[/h]|[/j]] <Link><Target>
参数 参数 描述 /d 创建目录符号链接。默认情况下,mklink会创建文件符号链接。 /H 创建硬链接而不是符号链接。 /J 创建目录连接。 <链接> 指定正在创建的符号链接的名称。 <目标> 指定新符号链接引用的路径(相对或绝对)。 /? 在命令提示符下显示帮助。