2017-12-14 19 views
0

시작 날짜와 종료 날짜를 얻으려고합니다. 시작 및 종료 데이터는 하루 종일 달라야합니다. 시작 또는 종료 날짜에서 뺄셈 또는 추가하는 문제가 있습니다. 어떻게이 일을 할 수 있습니까? 나는 -%1%+%1%을 시도했다.박쥐 파일의 날짜 빼기

for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" 

set /a y=%dt:~0,4% 
set /a m=1%dt:~4,2% 
set /a d=1%dt:~6,2% 


set subdate=%y%%m:~-2%%d:~-2% 

SET START_DATE= %subdate:~0,4%/%subdate:~4,2%/%subdate:~6,2% 00:00 AM 
SET END_DATE = %dt:~0,4%/%dt:~4,2%/%dt:~6,2%+%1% 00:00 AM 

echo %start_date% 
echo %end_date% 
echo done 
+2

어제부터 내 [대답] (https://stackoverflow.com/a/47800795/1417694)를 참조하십시오. 이 함수로 더하거나 뺄 수 있습니다. – Squashman

+2

[일괄 스크립팅 CDM을 사용하여 2 일 전에 날짜를 얻는 쉬운 방법이 있습니까?] (https://stackoverflow.com/questions/47800605/is-there-any-easy-way-to-get-2 -days-ago-date-using-batch-scripting-cdm) – Squashman

답변

2

시작일을 어제로, 종료일을 오늘으로 지정하는 방법입니다. 당신이 찾고있는 것을 오해한다면 그렇게 말하십시오.

FOR /F "usebackq tokens=*" %%t IN (`powershell -NoProfile -Command "(Get-Date).AddDays(-1).ToString('yyyy/MM/dd HH:MM:ss')"`) DO (SET "START_DATE=%%t") 
FOR /F "usebackq tokens=*" %%t IN (`powershell -NoProfile -Command "(Get-Date).ToString('yyyy/MM/dd HH:MM:ss')"`) DO (SET "END_DATE=%%t") 

echo %START_DATE% 
echo %END_DATE%