不要使用依赖于%date%变量的区域设置/用户设置。
使用任一
wmic
或者PowerShell,它们都有更稳定的方法。
:: Q:\Test\2018\12\14\SO_53787816.cmd
@Echo off
for /f "usebackq" %%A in (`
powershell -NoP -C "(Get-Date).ToString('yyyyMMdd')"
`) Do Set "Today1=%%A"
Echo PowerShell today:%Today1%
for /f "tokens=1-3 delims=.+-" %%A in (
'wmic os get LocalDateTime^|findstr ^^[0-9]'
) do Set "Today2=%%A"
Set "Today2=%Today2:~0,8%"
Echo wmic today:%Today2%
Set "Base=X:\VoyagerBackups\PickupLocation\"
PushD "%Base%" || (Echo can't find base:%Base%&Pause&Goto :Eof)
For /f "delims=" %%A in ('Dir /B "*%Today1%*" ') Do (
Echo found file:%%~fA
)
PopD