배치파일에서 외부파일을 읽어서 적용하는 방법
외부파일 List.txt 예시
1
2
3
A
B
C
배치스크립트 파일 Script.bat 예시
BAT (Batchfile)
@echo off
FOR /F %%a IN (List.txt) do (
echo line: %%a
)
실행결과 (외부파일을 읽어서 한줄씩 반복문으로 출력됨)
C:\Users\Admin\Desktop\batch>run
line: 1
line: 2
line: 3
line: A
line: B
line: C
C:\Users\Admin\Desktop\batch>
배치파일에서 경로 설정 옵션
BAT (Batchfile)
@echo OFF
cd /d %~dp0
cd는 디렉토리의 변경, 「/d」는 D드라이브로의 변경.
「%0」 「%1」 「%2」라고 하는 %숫자는 인수이므로 0은 실행하고 있는 배치 파일 자체를 나타냄. (「%1」 「%2」는 배치의 제1 인수·제2 인수를 나타냄)
%와 0으로 둘러싸여 있는 dp 부분의 의미 : 드라이브나 파일 경로에서 “”를 제거하고 인수에서 “를 제거하여 순수한 경로 문자열로 만들 수 있습니다.
dp 부분은 문자열에서 무엇을 어떻게 얻을 것인가에 대한 옵션입니다.
「d」는 드라이브 문자에만 전개. 「p」는 파일명을 제외한 패스의 부분에 전개. 이므로,
「%~dp0」이란 「실행되고 있는 파일이 놓인 디렉토리」를 가리키고 있습니다.
실행 파일의 디렉토리에 대한 개념으로서 「커런트」디렉토리라고 하는 것이 존재하고 있습니다.
옵션 | 결과 | 설명 |
---|---|---|
%0 | “C:\Test\예제.cmd” | “포함한 전체 경로+화일 반환 |
%~0 | C:\Test\예제.cmd | “제외한 전체 경로+화일 반환 |
%~d0 | C: | 드라이브 문자만 반환 |
%~p0 | \Test\ | 경로만 반환 |
%~n0 | 예제 | 화일명만 반환 |
%~x0 | .cmd | 확장자만 반환 |
%~f0 | C:\Test\예제.cmd | 완전 수식 경로명 반환 |
%~a0 | –a——- | 파일 속성 반환 |
%~t0 | 2024-09-21 dhgn 05:45 | 화일 날짜/시간 반환 |
%~z0 | 77 | 파일 크기 반환 (byte단위) |
%~$PATH:0 | C:\Test\예제.cmd | PATH 환경 변수로 지정된 디렉토리를 검색하여 처음 발견된 완전 수식명 반환 (?) |
%~s0 | C:\Test\예제.cmd | 전개된 경로는 짧은 이름만 반환 |
%~dp0 | %~dp0 | %~dp0 |
배치파일로 윈도우 계정 로그인 기록 추적
BAT (Batchfile)
@echo off
echo %date%,%time%,%computername%,%username%,%sessionname%,%logonserver% >> C:\whoAreYou.txt