Я пытаюсь создать пакетный файл для регулярного резервного копирования моих данных в Windows с помощью пакетного сценария.

Мне нужен параметр даты и поля из отображаемого формата (месяц, день и год). все отлично работает, когда я использую разделители изначально. Но когда я меняю формат даты с dd-mm-yyyy на yyyy-mm-dd все терпит неудачу.

Так есть ли какой-либо общий формат для извлечения полей (mm,dd,yyyy), хотя формат варьируется.

Благодарю.

1 ответ1

1

Единственный надежный способ получить типовую дату - это следующее (мы надеемся, не зависит от локальных настроек):

@echo off &setlocal
for /f "tokens=2*" %%a in ('reg query "HKCU\Control Panel\International" /v sShortDate^|find "REG_SZ"') do set "ssShortDate=%%b"
reg add "HKCU\Control Panel\International" /f /v sShortDate /d "dd MM yyyy" >nul
set "cdate=%date%"
reg add "HKCU\Control Panel\International" /f /v sShortDate /d "%ssShortDate%" >nul
for /f "tokens=1-3" %%i in ("%cdate%") do set "day=0%%i"&set "month=0%%j"&set "year=%%k"
set "day=%day:~-2%"
set "month=%month:~-2%"
echo.%year%-%month%-%day%
endlocal

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .