.bat 运行文件夹下所有的.bat批处理命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.bat 运行文件夹下所有的.bat批处理命令相关的知识,希望对你有一定的参考价值。
aa.bat同目录下有很多的文件夹,每个文件夹下又有两个.bat文件,怎么样才能通过aa.bat一次运行文件夹下的所有.bat
想要运行文件夹下所有的.bat批处理命令,可以通过以下步骤进行:1.打开命令提示符窗口,进入到该文件夹的路径下;2.使用dir /b *.bat命令,列出该文件夹下所有的批处理文件名称;3.使用for命令逐一执行每个批处理文件,例如:for %f in (*.bat) do call %f,其中%f表示匹配到的每个批处理文件名。执行该命令后,会按照批处理文件名称的顺序依次执行所有的.bat文件,直到文件夹中所有的.bat文件执行完成。需要注意的是,为了避免不必要的错误,应该在执行前先备份好相应的文件。 参考技术A @echo offdir /a /s /d *1.bat && start /w *.1bat
dir /a /s /d *2.bat && start /w *2.bat追问
也不行呀,说找不到change1.bat,然后就是找不到change2.bat
追答@echo off
FOR /L %%a IN (1,1,2) DO for /R %%I in (change%%a.bat) do cmd /c "%%I" >>1.txt
没有反应呀、
追答@echo off
FOR /L %%A IN (1,1,2) DO for /f %%I in ('dir /a-d/s/b change%%A.bat') do cmd/c "%%I" >>1.txt
不行额。。。。。。
追答怎么不行?哪不行?
追问只是在CMD中显示出那条命令来了,但是根本就没执行呀。。
追答以上代码已经能正常启动你说的那些批处理,对吧?只是跳出来的批处理没有运行它相应的代码,是吗?
追问可以这么说吧、反正我是在CMD中看到有这两条命令了,但是呢用引号引着、
追答那还真奇怪!批处理运行后,不可能不执行代码,停在那啊!除非有pause指令,它才会暂停。
参考技术C @echo offfor /f "tokens=*" %%i in ('dir/s/b/a-d *.bat') do start "%%i"追问
大神,不行呀,弹出好多黑框框,但是什么也没有变,可能我描述的有问题吧、明确一下吧,每个文件夹下有两个.bat,分别是change1.bat和change2.bat,让他们按顺序来,先执行change1.bat再执行change2.bat
DOS,批处理bat中的DIR命令
我发现如果要列出指定的文件夹(只列文件夹),用DIR的话,如果根目录下也有这个文件夹就DIR不出,这是为什么,怎么解决?
dir 命令:显示目录中的文件和子目录列表。就是说只列出本目录下的文件,不包括本身。
你指定文件夹后,就是相当于在本目录下列出文件,所以不会显示你指定的目录。
@echo offfor /r %%i in (.) do (
echo,%%~dpni"
)
pause
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上代码,保存为BAT文件。 参考技术A 使用Dir/?可以查询更多的使用方法,依你所述,你可能是Dir的是系统盘,或者其他被隐藏的盘了,你可以使用该命令的参数来指定更多的条件 参考技术B 不会这样啊,是不是你写错代了呢?
以上是关于.bat 运行文件夹下所有的.bat批处理命令的主要内容,如果未能解决你的问题,请参考以下文章