forループで尋ねられた他の質問の1つからの手法を使用して、ファイルの親ディレクトリを取得することに取り組んできました。私のスクリプトは、複数のファイルの場所に対して実行するために必要な 1 つのパラメーターを既に取り込んでいるので、それを保持する必要があると思います。私の getparentdir 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!
)
)