windows cmd prompt使用 |
发布时间: 2012/9/15 18:05:31 |
call,行标,注释,和 环境变量 以一个冒号开头的英文字,表示这是一个行标。如: :labelSomewhere 两个冒号开头的英文字,表示一个注释掉的行。 ::comment content 注意,这种方式注释,不可以放在括号引起的多行语句之间。 将一个文件名的排列,以空格分隔,放在一个环境变量内;以该环境变量作为循环遍历的列表内容。减少命令脚本内容修改的必要。 set fileList=fileA fileB fileC
或者将所有文件名,作为脚本文件执行的参数,如下写法 script.cmd fileA.txt fileB.txt 文件script.cmd 内容: for %%i in (%*) do echo %%i 书写成%*, 额外的写法,将要遍历的字符内容分行放在一个或多个文件内,这个列表文件作为执行参数,循环时候遍历文件内容,读出每一行到循环变量。 for /f "usebackq" %%i in (%1) do echo %%i 如果文件的行含有空格,输出的是第一个字。这是,可以书写修改成下例: for /f "usebackq tokens=*" %%i in (%1) do echo %%i 执行s.cmd fileList.txt 效果相当于列出文件内容,但是一次读取文件一行,较节省系统资源。 上述tokens的值是一个逗号分隔的列表,数值指定要索取记号的序号,星号指定余下所有标记。 更多帮助参见for /? 注意:脚本文件内循环变量命名,写成%%i;命令行方式下,写成%i: for %%i ... for %i...
call,调用其他程序,常调用同样的批命令脚本文件;或者调用某行标,配合"goto :labelAtLastLine" 的方式实现类似子程序调用功能。 call notepad call :subroutine . . . :subrountine ...
调用行标时,脚本执行点位置保存,调到行标位置行,按照逻辑执行到脚本结尾后,返回到调用点的下一行,继续解释和执行脚本。 如果足够无聊,可以试一下: script.cmd内容写成 call script.cmd 然后就可以看到无穷无尽的递归调用,或者: script.cmd文件内容写成 start script.cmd 点击执行后,可以看到无穷尽的弹出窗口。终结的方式是在任务管理器下结束命令行程序的进程树 将这个脚本内容复制到两行,你就可以体会一下进程数量呈指数级增长的感觉。
最后,觉得这些视窗脚本命令的用处其实不大。除了可以帮助写出在路径名内包含空格的独立游戏安装脚本。 本文出自:亿恩科技【www.enkj.com】 |