Возможно, это проблема с форматом даты. % DATE% возвращает текущую дату, используя краткий формат даты, который полностью (бесконечно) настраивается. Один пользователь может настроить свою систему так, чтобы она возвращала Fri040811, а другой пользователь может выбрать 08/04/2011 ... это полный кошмар для программиста на BAT.
Возможное решение - использовать WMIC. WMIC Path Win32_LocalTime Get Day,Hour,Minute,Month,Second,Year /Format:table
возвращает дату удобным способом, чтобы непосредственно проанализировать ее с FOR.
@ECHO OFF
FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
SET FD=%%F%%D%%A
)
ECHO D:\SITES\SUM\%FD%