ForFiles 命令不适用于参数 /D +xx
ForFiles command does not work with parameter /D +xx
这找不到文件(目录中的两个文件只有一天):
for /d %%d in (%mydir%\*) do (
cd %%d
forfiles /P %%d /M *.ppt* /D +7 /C "cmd /c echo Converting @file"
)
当我把/D
参数改成/D -6
就可以了,
/D 25.10.2021
也可以。
但是 /D +7
从未找到任何文件。
这是错误还是功能?
这是一个示例,它改编自 aschipfl's answer within the link in their 中显示的相同方法。
@Set "MyDir=%UserProfile%\Videos"
@For /F "Delims=" %%G In ('Dir "%MyDir%" /B /A:D 2^>NUL') Do @For /F "Delims=" %%H In ('^"Dir /B /A:-D 1^>NUL 2^>^&1 ^&^& %SystemRoot%\System32\forfiles.exe /P "%MyDir%\%%G" /D -0 /C "%SystemRoot%\System32\cmd.exe /D /C 0x22If @IsDir==FALSE %SystemRoot%\System32\forfiles.exe /M @File /D -8 1>NUL 2>&1 || Echo @Path0x22" 2^>NUL^"') Do @Echo Converting %%H
@Pause
我省略了任何解释,因为上面链接的答案解释了方法,这基本上将该方法包装在 For /F
循环中。
这找不到文件(目录中的两个文件只有一天):
for /d %%d in (%mydir%\*) do (
cd %%d
forfiles /P %%d /M *.ppt* /D +7 /C "cmd /c echo Converting @file"
)
当我把/D
参数改成/D -6
就可以了,
/D 25.10.2021
也可以。
但是 /D +7
从未找到任何文件。
这是错误还是功能?
这是一个示例,它改编自 aschipfl's answer within the link in their
@Set "MyDir=%UserProfile%\Videos"
@For /F "Delims=" %%G In ('Dir "%MyDir%" /B /A:D 2^>NUL') Do @For /F "Delims=" %%H In ('^"Dir /B /A:-D 1^>NUL 2^>^&1 ^&^& %SystemRoot%\System32\forfiles.exe /P "%MyDir%\%%G" /D -0 /C "%SystemRoot%\System32\cmd.exe /D /C 0x22If @IsDir==FALSE %SystemRoot%\System32\forfiles.exe /M @File /D -8 1>NUL 2>&1 || Echo @Path0x22" 2^>NUL^"') Do @Echo Converting %%H
@Pause
我省略了任何解释,因为上面链接的答案解释了方法,这基本上将该方法包装在 For /F
循环中。