배치 파일에 날짜를 보내고 요일을 반환해야합니다. date 매개 변수는 과거 또는 미래에있을 수 있습니다. 여러 날짜 함수를 살펴 보았지만 모두 오늘 날짜를 사용하고 있습니다. 배치 매개 변수에 날짜 매개 변수를 보내 요일을 반환 할 수 있습니까? 내가 파워 쉘의 도움으로 윈도우 7배치 파일에 날짜 매개 변수와 반환 요일을 입력하십시오.
2
A
답변
2
을 사용하고 있습니다 :
set a=03.12.2013
for /f %%i in ('powershell ^(Get-Date %a% -f dddd^)') do set long=%%i
for /f %%i in ('powershell ^(Get-Date %a% -f ddd^)') do set short=%%i
echo Day is %long% (%short%)
1
.bat
으로 이것을 저장하고
@if (@X)==(@Y) @end/*** Javascript comment
@echo off
set "date1=04/14/2014"
(
mshta "about:<title>dow</title><body onload='init("%date1%")'><script language='javascript' src='file://%~dpnxf0'></script><span id='arg1'>%date1%</span></body>"
) | (
for /f "tokens=* delims=" %%B in ('more') do (
echo day of the week: %%B
)
)
exit /b 0
**/
function init(ds) {
//var dt = document.getElementById('arg1').value;
var the_date=new Date(Date.parse(ds));
var the_day=the_date.getDay();
//alert(the_day);
var fso= new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1);
//fso.Write(the_date.getDay());
close(fso.Write(the_day));
}
1
이 원하는 날짜에 date1
을 변경하는 것은 VBS를 사용하여 배치 스크립트입니다 평일을 얻으려고.
:: Get weekday and day of week number, for a date
@echo off
if "%~1"=="" echo Use this to get the day of week: "%~nx0" dd-mm-yyyy& pause & goto :EOF
set file="%temp%\%~n0.temp.vbs"
echo>%file% WScript.Echo weekday(#%~1#)
for /f %%a in ('cscript //nologo %file%') do set "daynum=%%a"
del %file%
for /f "tokens=%daynum% delims=," %%a in ("Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday") do set "weekday=%%a"
echo dow is "%daynum%" - "%weekday%"
pause
정말 순수한 일괄 처리에 제약이 있습니까? powershell 날짜 ('2014-05-18') - 형식 % V' – wmz
죄송합니다. '% u' 여야합니다. 일주일에 잘못 먹었을 것입니다. 낮이 아니야. 이 숫자를 반환, 다른 옵션도 사용할 수 있습니다. – wmz
사실, 나는 요일이 필요합니다. 예 : 월, 화. 불행히도 배치 형식으로 유지해야합니다. – user3549841