如何只访问一个额外的子目录并使用批处理访问它们的文件?
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
)
我通常在 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
)