我有以下结构:从一个批处理文件,子文件夹中执行多个批处理文件
E:
parent
subfolder1 contains mybatch.bat
subfolder2 contains mybatch.bat
....
subfoldern contains mybatch.bat
文件夹的数量是动态的,名字是未知的,每天的文件夹名称中包含当天时间戳。
假设mybatch.bat只包含此
mkdir temp
我想从每个子文件夹中执行所有的“mybatch.bat”。当我去到每个子文件夹并手动执行mybatch.bat时,一切正常,将在子文件夹中创建一个名为“temp”的文件夹。
我想要的是在每个文件夹内执行所有mybatch.bat的批处理文件,因此每个子文件夹中都会创建一个“temp”文件夹。我想这
cd E:\parent
for /f %%f in ('dir /ad /b') do start %~dp0%%f\mybatch.bat
的问题是,当我运行薄,一个临时文件夹在父文件夹中创建,并在子文件夹中创建什么。 我感谢帮助
感谢
请注意相对路径!你正在混合不同的目录:'dir/ad/b'在当前工作目录下搜索(因为没有指定路径),但是你使用了'%〜dp0',这是这个批处理文件的父目录;只要这些tweo位置相同,一切都很好,但只要它们不同,就会遇到奇怪的问题......考虑使用'call'而不是'start',除非您真的想运行所有的批处理文件同时... – aschipfl