더 똑똑한 Windows 배치 스크립트에 사용할 5가지 IF 문

더 똑똑한 Windows 배치 스크립트에 사용할 5가지 IF 문

Windows 배치 파일에서 많은 작업을 수행하는 경우 IF 문 스크립트에 유연성을 추가하는 매우 강력한 방법을 제공합니다.





이 기사에서는 Windows 배치 파일에서 사용할 수 있는 5가지 주요 유형의 IF 문, 올바른 구문이 어떻게 보이는지, 각각에 대한 현실적인 예에 ​​대해 알아볼 것입니다.





스크립팅을 시작할 준비가 되었다면 시작하겠습니다!





1. 값 비교

일반적으로 배치 스크립트에서 수행해야 하는 기본 작업 중 하나는 두 값을 비교 비교에 따라 다른 조치를 취하십시오.

예를 들어 컴퓨터의 하드 드라이브 크기를 매일 확인하는 배치 스크립트를 작성하려고 한다고 가정해 보겠습니다. 3GB 미만인 경우 '하드 드라이브 공간이 너무 부족함'이라는 이메일 보고서를 받고 싶습니다.



현재 사용 가능한 하드 드라이브 공간을 제한과 비교하는 스크립트를 만들려면 다음 배치 스크립트를 만들고 .bat 파일로 저장합니다.

@echo off
set DriveLimit=300000000
for /f 'usebackq delims== tokens=2' %%x in (`wmic logicaldisk where 'DeviceID='C:'' get FreeSpace /format:value`) do set FreeSpace=%%x
Echo FreeSpace='%FreeSpace%'
Echo Limit='%DriveLimit%'
If %FreeSpace% GTR %DriveLimit% (
Echo There is enough free space.
) else (
Echo Not enough free space.
)

WMIC는 PC 정보를 가져오는 데 사용할 수 있는 다양한 명령과 함께 제공되는 Windows의 Windows Management Instrumentation 구성 요소입니다. 이것이 이 스크립트의 'wmic' 명령이 'logicaldisk' 공간을 호출하고 FreeSpace 변수에 배치하는 방법입니다. 이제 '에코 여유 공간이 충분하지 않음' 줄을 간단한 이메일 명령으로 교체하여 경고를 보낼 수 있습니다.





마지막으로 이 스크립트를 매일 실행되는 Windows 예약 배치 작업으로 설정합니다.

이전에 blat을 사용한 적이 없다면 blat 설정 방법을 보여주는 기사가 있습니다. 예약된 작업 설정에 익숙하지 않습니까? Windows 예약된 작업을 설정하는 방법에 대한 문서를 가지고 있습니다.





2. 문자열 비교

일괄 작업에서 수행할 수 있는 또 다른 유용한 IF 비교는 문자열 비교 .

다음 예에서는 일괄 작업을 사용하여 Windows 버전을 확인하는 방법을 보여줍니다. 그런 다음 이를 예상 Windows 버전과 비교할 수 있습니다.

이 스크립트의 일부 용도는 스크립트를 신속하게 실행하고 현재 운영 체제가 최신인지 확인해야 하거나 업그레이드가 필요한지 여부를 확인해야 할 때 IT 감사를 위한 것입니다.

이 스크립트는 다음과 같습니다.

@echo off
for /f 'tokens=4-5 delims=. ' %%i in ('ver') do set VERSION=%%i.%%j
if '%version%' == '6.0' echo Windows Vista.
if '%version%' == '6.1' echo Windows 7
if '%version%' == '6.2' echo Windows 8
if '%version%' == '6.3' echo Windows 8.1
if '%version%' == '10.0' echo Windows 10.

이 스크립트의 출력은 다음과 같습니다.

문자열을 일괄적으로 비교할 수 있는 기능은 가능성의 전체 목록을 엽니다. 모두 탐색하면 WMIC 명령에서 얻을 수 있는 정보 모니터할 수 있는 컴퓨터에 대한 통계가 얼마나 많은지 알 수 있습니다. 예약된 일괄 작업을 사용하여 이에 대해 경고할 수 있습니다.

3. 파일이 존재하는지 확인

배치 파일의 IF 문이 다음과 같은 또 다른 유용한 상황입니다. 데이터 파일이 있는지 확인 .

많은 경우 일괄 작업은 특정 디렉터리에서 들어오는 새 데이터 파일을 확인하도록 예약될 수 있는 모니터링 도구일 뿐입니다.

그런 다음 배치 작업은 해당 파일을 처리할 수 있는 다른 위치로 복사하거나 파일을 Excel 출력으로 처리하는 일부 Windows 스크립트를 시작할 수 있습니다.

(우리는 방법에 대해 과거에 썼습니다. 데이터를 Excel 파일로 처리하기 위해 Windows 스크립트 사용 ; 좋은 배경 읽기.)

배치 파일을 사용하여 디렉토리에 파일이 존재하는지 확인하는 것은 빠르고 쉽습니다. 다음은 해당 스크립트의 모양입니다.

@echo off
if exist c: empdatafile.txt (
%WINDIR%SysWOW64cmd.exe
cscript LoadToExcel.vbs
) else (
rem file doesn't exist
)

IF EXISTS 비교는 많은 경우에 유용합니다.

예를 들어 문제가 있을 때 특정 폴더에 새 오류 로그를 생성하는 시스템 또는 응용 프로그램이 실행 중인 경우 배치 작업을 자주 실행하여 경고를 보낼 수 있도록 새 오류 로그가 생성되는지 여부를 모니터링할 수 있습니다.

4. 명령 실패 여부 확인

너무 적은 IT 담당자나 프로그래머가 사용하는 배치 파일 스크립팅의 한 측면은 오류 확인 .

중요한 파일을 백업하거나 파일 복사 작업을 실행하는 것과 같은 중요한 IT 작업을 수행하는 많은 배치 작업이 있습니다. 이러한 일괄 작업이 실패하면 시스템이 실패하고 사람들이 알아차립니다.

배치 작업이 명령에 실패했을 때 알림을 받는 것이 훨씬 더 현명합니다. ~ 전에 사람들이 눈치채기 시작합니다. 이렇게 하면 문제를 사전에 해결할 수 있습니다.

대부분의 응용 프로그램과 명령이 실행된 후 반환되는 %errorlevel% 변수를 사용하여 이를 수행할 수 있습니다.

IF %ERRORLEVEL% 명령으로 명령을 따르기만 하면 됩니다. 응용 프로그램이나 명령이 0을 반환하면 모든 것이 정상입니다. 그렇지 않은 경우 자신에게 이메일을 보내야 합니다.

@echo off
xcopy C:
omefolder E:ackupfolder
IF %ERRORLEVEL% NEQ 0

이메일 경로를 사용할 필요가 없습니다. 매일 아침 확인할 수 있는 오류 로그를 항상 작성하거나 대체 명령을 사용하여 복사를 시도하는 두 번째 응용 프로그램이나 명령을 실행할 수 있습니다. 취하려는 조치가 무엇이든 IF %ERRORLEVEL%를 사용하면 수행할 수 있습니다.

특정 오류 코드를 확인하기 위해 IF 문을 사용하려는 경우 Windows는 광범위한 오류 코드 목록 .

5. 누락된 매개변수 확인

마지막 유용한 IF 문은 특정 명령이 아니라 스크립트가 적절한 입력 매개변수를 받았습니다. .

예를 들어 입력 폴더에서 팀에서 사용하는 공통 네트워크 폴더로 xcopy 명령을 수행하는 스크립트를 작성했다고 가정해 보겠습니다. 사용자는 개인 파일 경로를 정의하는 매개변수와 함께 스크립트 이름을 따라야 합니다.

분명히 경로를 지정하지 않으면 스크립트를 제대로 실행할 수 없으므로 스크립트 시작 부분에 IF 문을 넣어 두 매개변수가 모두 입력되었는지 확인할 수 있습니다.

이것이 어떻게 생겼는지입니다.

@echo off
IF [%1]==[] (
GOTO sub_message
) ELSE (
xcopy %1 E:ackupfolder
)
GOTO eof
:sub_message
echo You forgot to specify your path.
:eof

이전에 배치 스크립트와 함께 매개변수를 사용한 적이 없다면 퍼센트 기호 다음에 숫자가 오는 것이 매개변수 변수를 나타냅니다. %1은 첫 번째 매개변수이고 %2는 두 번째 매개변수입니다.

배치 작업은 강력할 수 있습니다.

많은 사람들이 순서대로 실행해야 하는 간단한 작업에 배치 작업을 사용하기 시작합니다. IF 문을 사용하면 스크립트에 훨씬 더 많은 정보를 추가할 수 있습니다.

물론 한 단계 더 높이려면 다음 가이드와 함께 VBA를 살펴보는 것이 좋습니다. 첫 번째 VBA 응용 프로그램 만들기 또는 Python 프로그래밍을 배울 수도 있습니다.

이와 같은 고급 프로그래밍 언어를 사용하거나 PowerShell 사용 방법을 배우면 현재 일괄 작업을 사용하는 것과 동일한 여러 작업을 수행할 수 있습니다.

공유하다 공유하다 트위터 이메일 디스크 공간을 확보하려면 이러한 Windows 파일 및 폴더를 삭제하십시오.

Windows 컴퓨터에서 디스크 공간을 비워야 합니까? 다음은 디스크 공간을 확보하기 위해 안전하게 삭제할 수 있는 Windows 파일 및 폴더입니다.

다음 읽기
관련 항목
  • 프로그램 작성
저자 소개 라이언 두브(942건의 기사 게재)

Ryan은 전기 공학 학사 학위를 받았습니다. 그는 자동화 엔지니어링에서 13년, IT에서 5년을 근무했으며 현재는 앱 엔지니어입니다. MakeUseOf의 전 편집장인 그는 데이터 시각화에 관한 전국 회의에서 연설했으며 전국 TV와 라디오에 출연했습니다.

사진의 크기를 줄이는 방법
라이언 두브가 참여한 작품 더보기

뉴스레터 구독

기술 팁, 리뷰, 무료 전자책 및 독점 거래에 대한 뉴스레터에 가입하십시오!

구독하려면 여기를 클릭하세요.