Witam
Wie ktoś jak napisać skrypt do zmiany formatu daty w systemie na rrrr-MM-dd i powrotu do starej daty.
Próbowałem plikiem bat:
rem zapamietanie obecnej daty
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "DT=%%a"
set "AKTUALNA=%DT:~0,4%-%DT:~4,2%-%DT:~6,2%"
rem sleep na kilka sekund
ping 127.0.0.1 -n 10 > nul
echo powrot do starej daty
date %AKTUALNA%
Wyskakuje:
The system cannot accept the date entered.
Enter the new date: (dd-mm-yy)
@echo off
rem zapamietanie obecnej daty
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "DT=%%a"
set "AKTUALNA=%DT:~0,4%-%DT:~4,2%-%DT:~6,2%"
echo Obecna data: %AKTUALNA%
rem zmiana formatu daty na rrrr-MM-dd
reg add "HKCU\Control Panel\International" /v sShortDate /d "yyyy-MM-dd" /f >nul
echo Nowy format daty: rrrr-MM-dd
rem sleep na kilka sekund
ping 127.0.0.1 -n 10 > nul
echo Powrot do oryginalnego formatu daty
rem przywrócenie oryginalnego formatu daty
reg add "HKCU\Control Panel\International" /v sShortDate /d "dd/MM/yyyy" /f >nul
Zapisałem do pliku bat uruchomiłem jako administrator i nie zmienia daty nawet na chwile. Próbowałem też do wiersza: echo Nowy format daty: rrrr-MM-dd (chyba od tego momentu miała się przywracać stara data) mignie tylko na chwile cmd i tyle.
@echo off
rem zapamietanie obecnej daty
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "DT=%%a"
set "AKTUALNA=%DT:~0,4%-%DT:~4,2%-%DT:~6,2%"
echo Obecna data: %AKTUALNA%
rem zmiana formatu daty na rrrr-MM-dd dla całego systemu
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Nls\Calendars\gregorian\001" /v "sShortDate" /d "yyyy-MM-dd" /f >nul
echo Nowy format daty: rrrr-MM-dd
rem sleep na kilka sekund
ping 127.0.0.1 -n 10 > nul
echo Powrot do oryginalnego formatu daty
rem przywrócenie oryginalnego formatu daty dla całego systemu
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Nls\Calendars\gregorian\001" /v "sShortDate" /d "dd/MM/yyyy" /f >nul