.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 off
dir /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

参考技术B for /f "delims=" %%a in ('dir /a-d/s/b change*.bat') do start "" /wait "%%~a"追问

不行额。。。。。。

追答

怎么不行?哪不行?

追问

只是在CMD中显示出那条命令来了,但是根本就没执行呀。。

追答

以上代码已经能正常启动你说的那些批处理,对吧?只是跳出来的批处理没有运行它相应的代码,是吗?

追问

可以这么说吧、反正我是在CMD中看到有这两条命令了,但是呢用引号引着、

追答

那还真奇怪!批处理运行后,不可能不执行代码,停在那啊!除非有pause指令,它才会暂停。

参考技术C @echo off
for /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 off

for /r  %%i in (.) do (
 
echo,%%~dpni" 
)

pause

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上代码,保存为BAT文件。

参考技术A 使用Dir/?可以查询更多的使用方法,依你所述,你可能是Dir的是系统盘,或者其他被隐藏的盘了,你可以使用该命令的参数来指定更多的条件 参考技术B 不会这样啊,是不是你写错代了呢?

以上是关于.bat 运行文件夹下所有的.bat批处理命令的主要内容,如果未能解决你的问题,请参考以下文章

批处理(bat)批量打开文件夹下的所有PDF文档

BAT批处理后台运行的命令是啥?

bat文件怎么运行

bat批处理文件夹下所有子文件夹下最后一个的文件重命名?

bat批处理svn 上的所有项目!

批处理bat删除某文件和文件夹除外的所有文件和文件夹