Я нашел DateAdd.cmd, написанный Робом ван дер Вудом (http://www.robvanderwoude.com)), но я не уверен, как передать значения обратно в мой основной (вызывающий) скрипт?
Я согласен с другими, что вам лучше использовать другой язык сценариев (VBS, PowerShell, ...), но чтобы ответить на этот конкретный вопрос, пакетный файл DateAdd.cmd устанавливает переменную среды DATEADD в результате своих обсуждений..
Вы можете сделать что-то вроде:
CALL DATEADD -15 >NUL:
SET FROMDATE=%DATEADD%
CALL DATEADD 15 >NUL:
SET TODATE=%DATEADD%
echo %FROMDATE%%TODATE%
Обратите внимание, что DateAdd.cmd использует формат краткой даты текущего пользователя из реестра, поэтому будет давать разные результаты в зависимости от языкового стандарта пользователя. ** 1011