Windows 배치 : 형식화 된 날짜를 변수로


105

현재 날짜를 YYYY-MM-DD 형식으로 Windows .bat 파일의 일부 변수에 저장하려면 어떻게합니까?

유닉스 쉘 아날로그 :

today=`date +%F`
echo $today



1
adarshr, 그 질문에 대한 대답은 매우 끔찍하고 오류가 발생하기 쉬운 방법을 사용합니다. 나는 그것을 사용하지 않는 것이 좋습니다.
Joey

이 링크는 아래 답변을 이해하는 데 도움이됩니다. ss64.com/nt/for_f.html
smwikipedia

답변:


151

다음을 사용하여 로케일에 구애받지 않는 방식으로 현재 날짜를 가져올 수 있습니다.

for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%x

그런 다음 하위 문자열을 사용하여 개별 부분을 추출 할 수 있습니다.

set today=%MyDate:~0,4%-%MyDate:~4,2%-%MyDate:~6,2%

개별 부품을 포함하는 변수를 얻는 또 다른 방법은 다음과 같습니다.

for /f %%x in ('wmic path win32_localtime get /format:list ^| findstr "="') do set %%x
set today=%Year%-%Month%-%Day%

변수 네임 스페이스를 오염시키는 대신 부분 문자열을 조작하는 것보다 훨씬 좋습니다.

현지 시간 대신 UTC가 필요한 경우 명령은 거의 동일합니다.

for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do set %%x
set today=%Year%-%Month%-%Day%

1
@ user2023861 명령 프롬프트를 열어도 명령 프롬프트를 열었을 때가 아니라 명령 호출 순간에 항상 올바른 날짜 / 시간을 얻는 것 같습니다.
ADTC

5
위의 줄을 여러 번 실행하면 변수가 정의되지 않았는지 확인하기 때문에 각 호출에 대해 새 날짜를 얻지 못합니다. 이것은 for /f두 줄을 반환 하기 때문에 필요 합니다. 두 줄은 빈 줄입니다. set MyDate=중간 에 사용하여 해결할 수 있습니다 . 나는 그것이 user2023861이 우연히 발견 한 것이라고 생각합니다.
Joey

1
@CharlesWood, 적어도 나는 내 배치 파일의 견고성을 위해 노력하지만 요즘에는 종종 PowerShell을 대신 사용합니다.
Joey

1
: 설정됩니다 변수 Year, Month, Day, Hour, Minute, Second, Quarter, WeekInMonth,DayOfWeek
사용자

2
for /f %%x in ('wmic path win32_localtime get /format:list ^| findstr "="') do set %%x set today=%Year%-%Month%-%Day% 잘못된 대답 : 월과 일 한 자리를 반환합니다 . 0 월과 일을 날짜 문자열로 채우는 2 자리 왼쪽을 얻는 방법은 무엇입니까?
Andrus 19

39

배치 파일에서 표준 MS-DOS 명령을 사용하여이 작업을 수행하려면 다음을 사용할 수 있습니다.

FOR /F "TOKENS=1 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET dd=%%A
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2,3 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET yyyy=%%C

나는 이것이 추가로 개선 될 수 있다고 확신하지만 이것은 날짜를 일 (dd), 월 (mm) 및 연도 (yyyy)에 대한 3 개의 변수로 제공합니다. 그런 다음 필요에 따라 나중에 배치 스크립트에서 사용할 수 있습니다.

SET todaysdate=%yyyy%%mm%%dd%
echo %dd%
echo %mm%
echo %yyyy%
echo %todaysdate%

이 질문에 대한 답변이 받아 들여 졌음을 이해하지만 WMI 콘솔을 사용하지 않고이를 달성하려는 많은 사람들이이 대체 방법을 높이 평가할 수 있으므로이 질문에 가치를 더하기를 바랍니다.


3
Windows 7 상자에서 이것을 약간 변경해야한다는 것을 알았습니다. 토큰은 1 씩 증가해야합니다. ... FOR / F "TOKENS = 2,3,4 eol = / DELIMS = /"...
Joe Johnston

1
푸른에 승리 서버 2012 같은
키릴 Yunussov

34

사용하다 date /T명령 프롬프트에서 형식을 찾는 데 합니다.

날짜 형식 Thu 17/03/2016이 다음과 같이 사용되는 경우 :

set datestr=%date:~10,4%-%date:~7,2%-%date:~4,2%
echo %datestr%

1
이것은 질문에 대한 가장 가까운 답변입니다. 프로그램이 아니라 간단한 한 줄만 있으면됩니다.
DCookie

2
동의합니다. 여기에 나오는 답변 중 일부는 "MS SQL Server 설치, SQL 클라이언트 연결 및 명령 실행 SELECT CONVERT(VARCHAR(16), GETDATE(), 112)" 과 거의 비슷합니다 .
isapir 2017-10-13

2
ISO-8601 형식의 날짜-시간은%date:~10,4%%date:~7,2%%date:~4,2%T%time:~0,2%%time:~3,2%%time:~6,2%
isapir

3
다른 응답이 프로그램처럼 보이는 이유는 Windows 지역 설정이이 코드가 예상하는 방식으로 구성되지 않은 경우 (즉,이 코드가 모든 Windows 시스템 에서 작동하지 않음)이 답변이 간단하지만 실패하기 때문입니다.
Daniel Scott

20

시간 설정에 의존하지 않는 두 가지 방법이 더 있습니다 (둘 다 현지화와 무관 한 데이터 / 시간 가져 오기에서 가져옴 ). 또한 둘 다 요일을 가져 오며 어느 것도 관리자 권한이 필요하지 않습니다! :

  1. MAKECAB- 모든 Windows 시스템에서 작동합니다 (빠르지 만 작은 임시 파일 생성) (foxidrive 스크립트) :

    @echo off
    pushd "%temp%"
    makecab /D RptFileName=~.rpt /D InfFileName=~.inf /f nul >nul
    for /f "tokens=3-7" %%a in ('find /i "makecab"^<~.rpt') do (
        set "current-date=%%e-%%b-%%c"
        set "current-time=%%d"
        set "weekday=%%a"
    )
    del ~.*
    popd
    echo %weekday% %current-date% %current-time%
    pause
    
  2. ROBOCOPY - Windows XPWindows Server 2003 의 기본 명령은 아니지만 Microsoft 사이트에서 다운로드 할 수 있습니다 . 그러나 Windows Vista 이상의 모든 기능에 내장되어 있습니다.

    @echo off
    setlocal
    for /f "skip=8 tokens=2,3,4,5,6,7,8 delims=: " %%D in ('robocopy /l * \ \ /ns /nc /ndl /nfl /np /njh /XF * /XD *') do (
        set "dow=%%D"
        set "month=%%E"
        set "day=%%F"
        set "HH=%%G"
        set "MM=%%H"
        set "SS=%%I"
        set "year=%%J"
    )
    
    echo Day of the week: %dow%
    echo Day of the month : %day%
    echo Month : %month%
    echo hour : %HH%
    echo minutes : %MM%
    echo seconds : %SS%
    echo year : %year%
    endlocal
    

    그리고 다른 Windows 스크립트 언어를 사용하는 세 가지 방법이 더 있습니다. 예를 들어 주, 시간 (밀리 초) 등을 얻을 수 있습니다.

  3. JScript / BATCH 하이브리드 (으로 저장해야 함 .bat). JScript는 Windows 스크립트 호스트 의 일부로 Windows NT 이상의 모든 시스템에서 사용할 수 있습니다 ( 드문 경우지만 레지스트리를 통해 비활성화 할 수 있음 ).

    @if (@X)==(@Y) @end /* ---Harmless hybrid line that begins a JScript comment
    
    @echo off
    cscript //E:JScript //nologo "%~f0"
    exit /b 0
    *------------------------------------------------------------------------------*/
    
    function GetCurrentDate() {
        // Today date time which will used to set as default date.
        var todayDate = new Date();
        todayDate = todayDate.getFullYear() + "-" +
                       ("0" + (todayDate.getMonth() + 1)).slice(-2) + "-" +
                       ("0" + todayDate.getDate()).slice(-2) + " " + ("0" + todayDate.getHours()).slice(-2) + ":" +
                       ("0" + todayDate.getMinutes()).slice(-2);
    
        return todayDate;
    }
    
    WScript.Echo(GetCurrentDate());
    
  4. VBScript / BATCH 하이브리드 ( 임시 파일을 사용하지 않고 배치 파일 내에 VBScript를 포함하고 실행할 수 있습니까? ) jscript와 동일한 경우이지만 하이브리드 화는 그렇게 완벽하지 않습니다.

    :sub echo(str) :end sub
    echo off
    '>nul 2>&1|| copy /Y %windir%\System32\doskey.exe %windir%\System32\'.exe >nul
    '& echo current date:
    '& cscript /nologo /E:vbscript "%~f0"
    '& exit /b
    
    '0 = vbGeneralDate - Default. Returns date: mm/dd/yy and time if specified: hh:mm:ss PM/AM.
    '1 = vbLongDate - Returns date: weekday, monthname, year
    '2 = vbShortDate - Returns date: mm/dd/yy
    '3 = vbLongTime - Returns time: hh:mm:ss PM/AM
    '4 = vbShortTime - Return time: hh:mm
    
    WScript.echo  Replace(FormatDateTime(Date, 1), ", ", "-")
    
  5. PowerShell-.NET 이있는 모든 컴퓨터에 설치할 수 있습니다. Microsoft ( v1 , v2v3 (Windows 7 이상에만 해당)) 에서 다운로드 할 수 있습니다 . Windows 7 / Win2008 이상의 모든 형식에 기본적으로 설치됩니다.

    C:\> powershell get-date -format "{dd-MMM-yyyy HH:mm}"
    
  6. 자체 컴파일 된 jscript.net/batch (.NET이없는 Windows 시스템을 본 적이 없으므로 이식성이 매우 좋다고 생각합니다) :

    @if (@X)==(@Y) @end /****** silent line that start jscript comment ******
    
    @echo off
    ::::::::::::::::::::::::::::::::::::
    :::       Compile the script    ::::
    ::::::::::::::::::::::::::::::::::::
    setlocal
    if exist "%~n0.exe" goto :skip_compilation
    
    set "frm=%SystemRoot%\Microsoft.NET\Framework\"
    :: searching the latest installed .net framework
    for /f "tokens=* delims=" %%v in ('dir /b /s /a:d /o:-n "%SystemRoot%\Microsoft.NET\Framework\v*"') do (
        if exist "%%v\jsc.exe" (
            rem :: the javascript.net compiler
            set "jsc=%%~dpsnfxv\jsc.exe"
            goto :break_loop
        )
    )
    echo jsc.exe not found && exit /b 0
    :break_loop
    
    
    call %jsc% /nologo /out:"%~n0.exe" "%~dpsfnx0"
    ::::::::::::::::::::::::::::::::::::
    :::       End of compilation    ::::
    ::::::::::::::::::::::::::::::::::::
    :skip_compilation
    
    "%~n0.exe"
    
    exit /b 0
    
    
    ****** End of JScript comment ******/
    import System;
    import System.IO;
    
    var dt=DateTime.Now;
    Console.WriteLine(dt.ToString("yyyy-MM-dd hh:mm:ss"));
    
  7. Logman 이것은 년과 요일을 가져올 수 없습니다. 비교적 느리고 임시 파일도 생성하며 logman이 로그 파일에 기록한 타임 스탬프를 기반으로하며 Windows XP 이상에서 모든 작업을 수행합니다. 아마 저를 포함하여 누구도 사용하지 않을 것입니다. 그러나 그것은 또 하나의 방법입니다 ...

    @echo off
    setlocal
    del /q /f %temp%\timestampfile_*
    
    Logman.exe stop ts-CPU 1>nul 2>&1
    Logman.exe delete ts-CPU 1>nul 2>&1
    
    Logman.exe create counter ts-CPU  -sc 2 -v mmddhhmm -max 250 -c "\Processor(_Total)\%% Processor Time" -o %temp%\timestampfile_ >nul
    Logman.exe start ts-CPU 1>nul 2>&1
    
    Logman.exe stop ts-CPU >nul 2>&1
    Logman.exe delete ts-CPU >nul 2>&1
    for /f "tokens=2 delims=_." %%t in  ('dir /b %temp%\timestampfile_*^&del /q/f %temp%\timestampfile_*') do set timestamp=%%t
    
    echo %timestamp%
    echo MM: %timestamp:~0,2%
    echo dd: %timestamp:~2,2%
    echo hh: %timestamp:~4,2%
    echo mm: %timestamp:~6,2%
    
    endlocal
    exit /b 0
    

Get-Date 함수에 대한 자세한 정보 .



8

나는 Joey의 방법을 정말 좋아했지만 조금 더 확장 할 것이라고 생각했습니다.

이 접근 방식에서는 코드를 여러 번 실행할 수 있으며 이전 날짜 값이 이미 정의되어 있기 때문에 "고착"되는 것에 대해 걱정할 필요가 없습니다.

이 배치 파일을 실행할 때마다 ISO 8601 호환 날짜 및 시간 표현이 출력됩니다.

FOR /F "skip=1" %%D IN ('WMIC OS GET LocalDateTime') DO (SET LIDATE=%%D & GOTO :GOT_LIDATE)
:GOT_LIDATE
SET DATETIME=%LIDATE:~0,4%-%LIDATE:~4,2%-%LIDATE:~6,2%T%LIDATE:~8,2%:%LIDATE:~10,2%:%LIDATE:~12,2%
ECHO %DATETIME%

이 버전에서는 레이블이 중복 될 수 있으므로 동일한 코드를 파일의 여러 위치에 복사 / 붙여 넣기하지 않도록주의해야합니다. 각 사본에 대해 별도의 레이블을 갖거나이 코드를 자체 배치 파일에 넣고 필요할 때마다 소스 파일에서 호출 할 수 있습니다.


5

%date%변수를 사용하십시오 .

echo %date%

5
현재 구성된 간단한 날짜 형식이 무엇이든 날짜를 반환합니다. 이것은 ISO-8601이 아닙니다.
Joey

@Joey 동의-이것이 의지하기에 충분하지 않기 때문에 나는 여기에 있습니다.
SteveCinq

5

@ProVi의 답변에 따라 필요한 형식에 맞게 변경하십시오.

echo %DATE:~10,4%-%DATE:~7,2%-%DATE:~4,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%

돌아올 것이다

yyyy-MM-dd hh:mm:ss
2015-09-15 18:36:11

수정 @Jeb 주석에 따라 위의 시간 형식은 DATE / T 명령이 반환되는 경우에만 작동합니다.

ddd dd/mm/yyyy
Thu 17/09/2015

로케일에 맞게 쉽게 편집 할 수 있지만 관련 % DATE % 환경 변수가 반환 한 문자열의 각 문자에 대한 인덱싱을 사용하여 필요한 문자열 부분을 추출 할 수 있습니다.

예. % DATE ~ 10,4 %를 사용하면 DATE 환경 변수가 확장 된 다음 확장 된 결과의 11 번째 (오프셋 10) 문자에서 시작하는 4 자만 사용됩니다.

예를 들어 미국 스타일 날짜를 사용하는 경우 다음이 적용됩니다.

ddd mm/dd/yyyy
Thu 09/17/2015

echo %DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
2015-09-17 18:36:11

날짜 / 시간 형식 설정에 따라 세계의 일부 위치에서만 작동하기 때문에 일부 사람들을위한 솔루션
일뿐입니다

3

다음을 수행하여 원하는 숫자 형식의 값으로 환경 변수를 설정합니다.

FOR /F "tokens=1,2,3,4 delims=/ " %a IN ('echo %date%') DO set DateRun=%d-%b-%c

2

이것 좀 봐 ..

for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" & set "MS=%dt:~15,3%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" & set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%-%MS%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause

2

Python이 설치되어 있으면 다음을 수행 할 수 있습니다.

python -c "import datetime;print(datetime.date.today().strftime('%Y-%m-%d'))"

필요에 따라 형식 문자열을 쉽게 조정할 수 있습니다.


2
질문에 대한 대답이 "Use python"이라고 말하는 것은 어떤 의미입니까?
Ross Presser

3
MAKECAB, ROBOCOPY, VBSCRIPT, POWERSHELL Logman 및 명령 줄에서 호출 할 수있는 기타 제안을 사용하는 것과 같은 방식으로?
CodeKid

이것은 클래스 python -c "import datetime;print(datetime.date.today())"__str__메서드가를 date호출 하기 때문에 단순화 할 수 있습니다 isoformat().
onewhaleid

2

PowerShell을 사용하고 루프를 사용하여 출력을 환경 변수로 리디렉션 할 수 있습니다.

명령 줄 ( cmd)에서 :

for /f "tokens=*" %a in ('powershell get-date -format "{yyyy-MM-dd+HH:mm}"') do set td=%a

echo %td%
2016-25-02+17:25

배치 파일에서 다음 %a과 같이 이스케이프 할 수 있습니다 %%a.

for /f "tokens=*" %%a in ('powershell get-date -format "{yyyy-MM-dd+HH:mm}"') do set td=%%a

1
마스크는 이와 같아야 FOR /F "tokens=*" %%a IN ('powershell get-date -format "{yyyy\-MM\-dd\THH\:mm\:ss}"') DO SET date=%%a 하므로 월에는 대문자 MM을 사용하고 리터럴 문자를 이스케이프하려면 백 슬래시를 사용하십시오.
Whome

1

날짜 및 시간 형식은 위치 별 정보이므로 % date % 및 % time % 변수에서 검색하려면 형식 변환을 고려하여 문자열을 구문 분석하는 데 추가 노력이 필요합니다. 좋은 아이디어는 API를 사용하여 데이터 구조를 검색하고 원하는대로 구문 분석하는 것입니다. WMIC는 좋은 선택입니다. 아래 예에서는 Win32_LocalTime을 사용 합니다. Win32_CurrentTime 또는 Win32_UTCTime을 사용할 수도 있습니다 .

@echo off  
SETLOCAL ENABLEDELAYEDEXPANSION  
for /f %%x in ('wmic path Win32_LocalTime get /format:list ^| findstr "="') do set %%x  
set yyyy=0000%Year%  
set mmmm=0000%Month%  
set dd=00%Day%  
set hh=00%Hour%  
set mm=00%Minute%  
set ss=00%Second%  
set ts=!yyyy:~-4!-!mmmm:~-2!-!dd:~-2!_!hh:~-2!:!mm:~-2!:!ss:~-2!  
echo %ts%  
ENDLOCAL  

결과 :
2018-04-25_10 : 03 : 11


1

이것은 시간을 포함하고 부분을 0으로 채우는 Joey의 대답의 확장입니다.

예를 들어 결과는 2019-06-01_17-25-36이됩니다. 또한 이것은 UTC 시간입니다.

  for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do set %%x

  set Month=0%Month%
  set Month=%Month:~-2%
  set Day=0%Day%
  set Day=%Day:~-2%
  set Hour=0%Hour%
  set Hour=%Hour:~-2%
  set Minute=0%Minute%
  set Minute=%Minute:~-2%
  set Second=0%Second%
  set Second=%Second:~-2%

  set TimeStamp=%Year%-%Month%-%Day%_%Hour%-%Minute%-%Second%


0

다음을 사용하고 있습니다.

set iso_date=%date:~6,4%-%date:~3,2%-%date:~0,2%

또는 로그 파일 이름 'MyLogFileName'과 함께 사용 :

set log_file=%date:~6,4%-%date:~3,2%-%date:~0,2%-MyLogFileName

2
그러나 당신의 대답은 다른 16과 다르거 나 더 나은 곳은 어디입니까? 그리고 이미 충분한 힌트가 있습니다.이 솔루션은 현지화에만 적용됩니다
jeb

0

powershell을 사용할 수있는 경우 아래 코드를 사용할 수 있습니다.

# get date
$BuildDate=(get-date -format "yyMMdd")
echo BuildDate=$BuildDate

# get time
$BuildTime=(get-date -format "hhmmss")
echo BuildTime=$BuildTime

결과는 다음과 같습니다.

BuildDate=200518
BuildTime=115919

-2

신뢰할 수있는 솔루션 (Windows의 지역 설정에 의존하지 않음)을 얻기 위해 10 ~ 30 분의 일회성 투자에 신경 쓰지 않는다면 계속 읽으십시오.

마음을 자유롭게합시다. 이처럼 보이도록 스크립트를 단순화 하시겠습니까? (LOG_DATETIME 변수를 설정한다고 가정)

FOR /F "tokens=* USEBACKQ" %%F IN (`FormatNow "yyyy-MM-dd"`) DO (
  Set LOG_DATETIME=%%F
)

echo I am going to write log to Testing_%LOG_DATETIME%.log

할 수 있습니다. C # .NET으로 FormatNow.exe를 빌드하고 PATH에 추가하기 만하면됩니다.

노트:

  1. Visual Studio Express와 같은 모든 Visual Studio 버전을 사용하여 FormatNow.exe를 빌드 할 수 있습니다.
  2. Visual Studio에서 "Windows Forms Application"프로젝트가 아닌 "Console Application"C # 프로젝트를 선택합니다.
  3. 상식 : 빌드 된 FormatNow.exe를 실행하려면 .NET Framework가 필요합니다.
  4. 상식 : FormatNow.exe를 PATH 변수에 추가 한 후 적용하려면 CMD를 다시 시작해야합니다. 또한 환경 변수의 변경에도 적용됩니다.

혜택:

  1. 느리지 않습니다 (0.2 초 내에 종료).
  2. 다양한 형식이 지원됩니다 https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx 예를 들어, 요일 만 가져 오려면 FormatNow "ddd", 가져 오려면 FormatNow "yyyy" 그 해
  3. Windows의 지역 설정에 의존하지 않으므로 출력이 훨씬 더 안정적입니다. 반면 % date %는 다른 컴퓨터에서 일관된 형식을 제공하지 않으며 신뢰할 수 없습니다.
  4. CMD 변수를 너무 많이 만들고 변수 네임 스페이스를 오염시킬 필요가 없습니다.
  5. 프로그램을 호출하고 결과를 얻으려면 배치 스크립트에 3 줄이 필요합니다. 충분히 짧아야합니다.

Visual Studio 2010으로 빌드 한 FormatNow.exe의 소스 코드 (알 수없는 악성 프로그램을 다운로드 할 위험을 피하기 위해 직접 빌드하는 것을 선호합니다). 아래 코드를 복사하여 붙여넣고 프로그램을 한 번만 빌드하면 향후 모든 용도에 사용할 수있는 신뢰할 수있는 날짜 포맷터를 사용할 수 있습니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace FormatNow
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                if (args.Length < 1)
                {
                    throw new ArgumentException("Missing format");
                }
                string format = args[0];
                Console.Write(DateTime.Now.ToString(format, CultureInfo.InvariantCulture.DateTimeFormat));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }

    }
}

일반적으로 복잡한 논리를 다룰 때 매우 작은 프로그램을 빌드하고 대신 배치 스크립트 변수로 출력을 다시 캡처하는 프로그램을 호출하여 더 간단하게 만들 수 있습니다. 우리는 학생이 아니며 문제를 해결하기 위해 배치 스크립트 전용 규칙을 따르도록 요구하는 시험을 치르지 않습니다. 실제 작업 환경에서는 모든 (법적) 방법이 허용됩니다. 많은 간단한 작업에 대한 해결 방법이 필요한 Windows 배치 스크립트의 열악한 기능을 계속 고수해야하는 이유는 무엇입니까? 작업에 잘못된 도구를 사용해야하는 이유는 무엇입니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.