[batch] 문법
1. 함수 반환값
배치 파일에서는 최대 10개의 함수 반환값을 가질 수 있다.
인자로써 %~1 부터 %~9 까지의 값을 사용할 수 있다.
이때 해당 값에 그냥 값을 대입하기만 하면 된다.
C++로 예시를 들자면, 참조값이 들어온다고 생각하면 된다.
아래는 디렉터리에서 원하는 폴더 또는 파일명을 알아오는 간단한 함수의 예시이다.
::Param 1 : dir
::Param 2 : match string
::Param 3 : not match string
::Param 4 : return value
:GetDirName
pushd %CD%
dir /B > "%TEMP%\dir.txt"
powershell "get-content %TEMP%\dir.txt -ReadCount 1000 | foreach { $_ -match '%~2' } | out-file -encoding ascii %TEMP%\dir_match.txt"
::without RC version
powershell "get-content %TEMP%\dir_match.txt -ReadCount 1000 | foreach { $_ -notMatch '%~3' } | out-file -encoding ascii %TEMP%\dir_notmatch.txt"
set /p "value="<"%TEMP%\dir_notmatch.txt"
set %~4=%value%
popd
exit /b
사용법은
call :GetDirName "." "contrib" "null" contrib_dir
echo %contrib_dir%
2. 문자열 substr 여부
if not x%str:bcd=%==x%str% (
echo It contains bcd
)
원리는 str에서 bcd를 없애고 난후 원본 문자열과 비교해 보는것이다, 다르다면 성공적으로 지워진것이니 bcd를 포함하는것이다.
Author And Source
이 문제에 관하여([batch] 문법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@springkim/batch-Function저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)