我一直在努力使用来自for循环中要求的其他问题之一的技术来获取文件的父目录。我已经得到它的大部分工作,除了我认为,因为我的脚本已经接受了1个参数,这是为了运行多个文件位置所需要的,我需要保留它。我的getparentdir goto需要一些操作参数的方法。我必须在同一个父目录下为多个目录的文件做这件事。任何帮助将是惊人的。批量覆盖goto的脚本参数
当我运行它,它似乎更喜欢脚本的参数,而不是什么被发送到GOTO
,所以没有任何事情完成。
setlocal ENABLEDELAYEDEXPANSION
for /D %%f in (F:\Falcon\Inbound\%1\*) do (
for %%g in ("%%f\*.PDF") do (
set ParentDir="%%g"
echo !ParentDir!
set ParentDir=%ParentDir: =:%
set ParentDir=%ParentDir:\= %
:getparentdir
if "%~1" EQU "" goto :cont
Set ParentDir=%~1
shift
goto :getparentdir
call :getparentdir
:cont
set ParentDir=%ParentDir::= %
echo ParentDir is !ParentDir!
)
)
也许你很清楚,但它看起来并不正确。 ParentDir将包含在“F:\ Falcon \ Inbound \%1”中找到的文件夹的名称。它不会给父文件夹,(至少从我的角度来看)。 – dbenham