如何只访问一个额外的子目录并使用批处理访问它们的文件?

How to only access one additional subdirectory and access their files utilizing batch?

我通常在 Java 中编程,但出于我不会指定的原因,我正在尝试使用批处理脚本来解决问题。我有几个目录,其中包含几天的子目录。例如,我可能有一个名为 January 的文件夹,该文件夹内是每天的文件夹(1、2、3 等),这些文件夹内是我需要访问的文本文件。但是,此数据会不断更新,因此我从来没有固定数量的文件夹。我想知道如何通过批处理脚本访问所有 'day' 文件夹?

我一直在尝试遍历目录,并通过在 for 循环中使用 /d /r 命令来找出整个文件夹(即:月份文件夹)中有哪些文件夹。然而,这只给了我目录中的文件。

我试过的一些代码片段是:

FOR /D /r %%P IN (..\JAN\Processed\) DO (
copy filex.txt ..\JAN\Processed\%%~nxP
/* run a correlation program using the file located in the directory specified with the copy command */
)

我也试过用

for /r "..\JAN\Processed\" %%P in (.) do (/*similar to code above*/)

当我 运行 此代码时,它将访问每个目录,而不仅仅是我想要的目录(因为我在 'day' 文件夹中有其他目录)。

为了测试我的代码,我也经常使用 ECHO 命令,只是想看看它是否真的通过放置 echo %%~nxP 找到了我需要的目录,但它似乎没有找到我要访问的目录。它只会 return ECHO IS ON/OFF。非常感谢您的帮助。

获取一个 for /d 以获取子文件夹(仅 depth=1)和第二个嵌套以获取该子文件夹中的文件:

@echo off
for /d %%P in ("..\JAN\Processed\*") do (
  for %%F in ("%%~fP\*") do echo %%~fF
)