循环遍历每个子目录而不深入——批处理脚本

Loop through each subdirectory without going deeper -- Batch script

我一直在寻找一段时间,看看我是否可以制作一个脚本,该脚本进入子目录但停止,执行命令,然后离开目录而不进入任何子目录。到目前为止,这是我得到的:

FOR /R "%cd%" %%G in (.) DO (
    cd %%G
    echo %%G
    cd ..
)

但问题是它不停地遍历每个子目录,所以它看起来像这样:

now in C:\Users\JacobGunther12\Desktop\Batch GMA Converter\(gdcw)_usp_.45_silenced_300572504\models\.
now in C:\Users\JacobGunther12\Desktop\Batch GMA Converter\(gdcw)_usp_.45_silenced_300572504\models\weapons\.
now in C:\Users\JacobGunther12\Desktop\Batch GMA Converter\(gdcw)_usp_.45_silenced_300572504\sound\.
now in C:\Users\JacobGunther12\Desktop\Batch GMA Converter\(gdcw)_usp_.45_silenced_300572504\sound\impacts\.
now in C:\Users\JacobGunther12\Desktop\Batch GMA Converter\(gdcw)_usp_.45_silenced_300572504\sound\weapons\.
now in C:\Users\JacobGunther12\Desktop\Batch GMA Converter\(gdcw)_usp_.45_silenced_300572504\sound\weapons\usp45\.

而不是直接进入文件夹 "Batch GMA Converter" 的第一个子目录。有什么办法吗?

遍历从dir /B /AD获得的子目录的静态列表,如下所示:

@ECHO OFF
SETLOCAL EnableExtensions
set "curdir=%CD%"
FOR /F "delims=" %%G in ('dir /B /AD') DO (
    pushd "%curdir%\%%G"
    echo %curdir%\%%G
    popd
)