Какое значение @file и каков текущий каталог, когда вы запускаете код?
winerror.h говорит, что ошибка 2 равна
#define ERROR_FILE_NOT_FOUND 2L
, поэтому япопытается полностью указать путь к файлу, который удаляется.
- РЕДАКТИРОВАТЬ:
, что можно сделать, выполнив
forfiles -px:\logs -s -m*.log -d-14 -c"CMD /C del @path"
вместо
forfiles -px:\logs -s -m*.log -d-14 -c"CMD /C del @file"