正如已经回答的那样,要获得仅包含双引号的每个路径的输出,您不需要for
循环。
%SystemRoot%\System32\forfiles.exe /P "C:\A" /M "*.txt" /D -2 /C "%SystemRoot%\System32\cmd.exe /D /C \"If @IsDir == FALSE Echo @Path\""
但是,从技术上讲,要获得与您相同的输出:
for %%F in
(
C:\A\*.TXT
) do (
echo %%F
)
即没有双引号,你仍然需要一个for
循环:
For /F "Delims=" %%G In ('%SystemRoot%\System32\forfiles.exe /P "C:\A" /M "*.txt" /D -2 /C "%SystemRoot%\System32\cmd.exe /D /C \"If @IsDir == FALSE Echo @Path\""') Do Echo %%~G
或者……</p>
与Echo Off
:
%SystemRoot%\System32\forfiles.exe /P "C:\A" /M "*.txt" /D -2 /C "%SystemRoot%\System32\cmd.exe /Q /D /C \"If @IsDir == FALSE For %%G In (@Path) Do Echo %%~G\"" & Echo(
与Echo On
:
%SystemRoot%\System32\forfiles.exe /P "C:\A" /M "*.txt" /D -2 /C "%SystemRoot%\System32\cmd.exe /D /C \"@If @IsDir == FALSE For %%G In (@Path) Do Echo %%~G\""