批处理有一代码不解

来源:百度知道 编辑:UC知道 时间:2024/06/07 13:08:58
cd F:\新建文件夹\新建文件夹
for /f "delims=" %%a in ('dir /b *.bat') do start "" "%%a"

不知在最后的start后为何要加两个""
还有就是这个程序启动以后是一起启动*.bat还是依次进行
但是如果我不加""的话就没法执行了

cd F:\新建文件夹\新建文件夹

这个命令是改变命令行路径的,但有点问题,如果当前命令行是c:\>,那这个命令肯定是切换不过来的,它不支持跨盘切换,再加上/d参数就完美了..

for /f "delims=" %%a in ('dir /b *.bat') do start "" "%%a"

for对一组文件中的每一个文件执行某个特定命令,/f in()里面指定的是命令,就要用单引号括起来..
"delims="无分隔符,也就是把bat中的每一整行赋值给%%a
dir /b *.bat 使用空格式查看*.bat内容,相当于type..
start "" "%%a"
start是打开程序命令,如果程序路径含有空格,就要用引号括起来,不括则已,一括就要用两个.
因为start的命令用法是:start "标题" "程序路径"
如果你用引号括起来后,start "程序路径",那么start就会把"程序路径"当作它的第一个参数来处理,也就是为打开程序添加的标题,所以会打开一个标题为"程序路径"的cmd窗口.为了避免就必须先指定标题,再跟上程序路径.所以才start "" "路径",当然前面的标题可以为空:""..

语言表达能力有限,菜鸟互动,不知道你看懂没,呵..,~!

加""是不想在窗口显示标题

程序依次启动执行