배치 스크립트에서 함수 생성

MD Aminul Islam 2023년1월3일
배치 스크립트에서 함수 생성

특정 작업에 대한 함수를 생성하면 동일한 작업에 대한 코드를 계속해서 작성할 필요가 없습니다. 이 기사에서는 Batch Script에서 함수를 만드는 방법에 대해 설명합니다.

배치 스크립트에서 함수 생성

함수 생성을 위한 일반적인 형식은 다음과 같습니다.

:function_name

그리고 이 함수를 호출하는 일반적인 형식은 아래와 같이 :function_name과 함께 CALL 키워드를 사용하는 것입니다.

CALL :function_name

이제 이것을 더 쉽게 이해할 수 있도록 적절한 설명과 함께 몇 가지 예를 살펴보겠습니다.

아래 예제에서 Hello! It's the function.... 이 예제의 코드는 다음과 같습니다.

@echo off
CALL :showmessage
EXIT /B %ERRORLEVEL%

:showmessage
ECHO Hello! It's the function...
EXIT /B 0

EXIT /B %ERRORLEVEL% 행을 작성했음을 알 수 있습니다. 이 줄은 함수가 작업을 완료한 후 프로그램을 종료하는 것을 목표로 합니다. 그렇지 않으면 프로그램이 계속해서 기능을 실행합니다.

그리고 EXIT /B 0 라인은 기능을 종료하기 위해 생성되었습니다.

코드를 실행하면 아래의 출력을 얻을 수 있습니다.

출력:

Hello! It's the function...

매개변수를 사용하여 함수 호출

다음 예제에서는 매개변수가 있는 함수를 호출합니다.

함수를 호출하는 일반적인 형식은 다음과 같습니다.

CALL :function_name %parameter%

그리고 %~1과 같은 매개변수의 인덱스를 사용하여 함수 내부에서 매개변수에 액세스할 수 있습니다.

예제에 대한 코드는 다음과 같습니다.

@echo off
SET FuncVar=10
CALL :showvar %FuncVar%
EXIT /B %ERRORLEVEL%

:showvar
ECHO Your passed variable is %~1
EXIT /B 0

예제에서 FuncVar라는 이름의 변수를 10 값으로 선언했습니다. 그 후, 우리는 함수를 호출하고 이 변수를 매개변수로 전달했습니다.

함수에서 함수에 전달된 매개변수를 인쇄했습니다. 이제 출력은 다음과 같을 것입니다.

출력:

Your passed variable is 10

여러 매개변수가 있는 함수 호출

여러 매개변수로 작업할 때 다음 형식을 따라야 합니다.

CALL :function_name %parameter1% %parameter2% %parameter3%

다음 예에서는 여러 변수를 함수의 매개변수로 전달했습니다. 예제 코드는,

@echo off
SET FuncVar1=10
SET FuncVar2=50
CALL :showvar %FuncVar1% %FuncVar2%
EXIT /B %ERRORLEVEL%

:showvar
ECHO Your 1st parameter is %~1
ECHO Your 2nd parameter is %~2
EXIT /B 0

%~1%~2와 같은 매개변수의 인덱스에 따라 두 개의 매개변수에 액세스했음을 알 수 있습니다. 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다.

출력:

Your 1st parameter is 10
Your 2nd parameter is 50
메모
이 기사에서 공유한 코드는 Batch로 작성되었으며 Windows CMD에서만 작동합니다.
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn