我有一个批处理文件,它通过声明确切的文件夹来检索目录中的文件,但仅在一个文件夹中。如何将批处理文件更改为动态文件,以便它可以检索子文件夹
中的特定文件。
我在批处理文件中声明了这行代码,它指定应检索文件的文件夹。
调用FTPDownload("SERVER","USERNAME","PASSWORD","D:dir1/dir2/dir3/",fyldt_currentday)
如何在不逐一声明的情况下检索 dir3
的所有子文件夹
中的文件?
最佳答案
您可以简单地获取当前目录的字符长度,并将其从绝对列表中删除
setlocal EnableDelayedExpansion
for /L %%n in (1 1 500) do if "!__cd__:~%%n,1!" neq "" set /a "len=%%n+1"
setlocal DisableDelayedExpansion
for /r . %%g in (*.log) do (
set "absPath=%%g"
setlocal EnableDelayedExpansion
set "relPath=!absPath:~%len%!"
echo(!relPath!
endlocal
)
关于batch-file - 如何在不使用批处理文件一一声明的情况下检索包含许多子文件夹的目录中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45957385/