
Windows NT 명령어 언어는 조건적 처리 기호, 필터, 방향전환 기호를 지원한다. 이들은 명령행 뿐만아니라 배치 처리중에도 사용될 수 있다.
조건적 처리 기호를 사용하면 명령 실행을 제어할 수 있다.
- 앰퍼샌드(&)는 하나의 명령줄에서 여러 개의 명령을 분리한다.
- 괄호는 여러 개의 명령을 그룹으로 묶는다.
- 세미콜론이나 콤마(; ,)는 명령의 매개 변수를 분리한다.
- 캐럿(^)은 명령 기호를 텍스트로 사용하게 한다(기호의 특별한 의미를 무시함).
- 캐럿(^)은 명령 기호를 텍스트로 사용하게 한다(기호의 특별한 의미를 무시함).
- 이중 파이프(||)는 기호 앞에 나오는 명령이 실패한 경우에만 이 기호 다음의 명령을 실행한다.
예:
Dir \Directory1&Dir \Directory2
두개의 dir 명령을 실행
Dir \Directory1=\Directory2
두 디렉토리에대한 dir 명령을 실행
net use \\Server\Share&&echo OK
첫 번째에는 OK가 출력되지만 는 사용중이므로
다음 부터는 OK가 출력되지 않는다.
방향전환 기호는 명령이 어디로 부터 정보를 얻고, 어디로 정보를 보내야 하는지를 변경한다.
- 기호는 명령의 출력을 파일이나 프린터와 같은 디바이스로 보낸다.
- 기호는 명령의 출력을 파일의 기존의 정보를 지우지 않고 끝에 추가한다.
예:
Dir \Directory1 lt;drive:\Directory2\dirlist.txt
dir 명령어의 출력으로 새로운 dirlist.txt 파일을 생성한다.
Dir \Directory3 \Directory2\dirlist.txt
이 dir 명령어의 출력을 위에서 생성한 파일에 추가한다.
필터는 정보를 나누고, 다시 배열하고, 또는 일부를 추출하는 일을 한다.
- more 명령은 파일의 내용이나 명령의 출력을 한번에 한 화면씩 표시한다.
- find 명령은 파일과 명령의 출력에서 지정한 문자를 찾는다.
- sort 명령은 파일과 명령의 출력을 알파벳순으로 정렬한다.
예:
sort sort.txt
list.txt의 각 행을 정렬해서 sort.txt로 저장한다.
find ".EXE" EXE.txt
대문자 .EXE를 찾고 그 경과를 EXE.txt에 저장한다.
원하는 디렉토리에서 1M 이상의 모든 파일을 찾을 때 사용하는 1Meg.bat라는 파일이 있다.
사용형식: 1meg \Directory1,\Directory2,...\Directoryn
출력: 형재 디렉토리내의 1meg_YourUserId.log
1meg.bat:
@echo off
dir /o-s /c /n %* %TMP%\%USERNAME%tmp.log
find "이 문자열을 14개의 공백으로 대치한다" %TMP%\%USERNAME%tmp.log /V
%TMP%\%USERNAME%tmp1.log
find "" %TMP%\%USERNAME%tmp1.log /V %TMP%\%USERNAME%tmp.log
find "Volume " %TMP%\%USERNAME%tmp.log /V %TMP%\%USERNAME%tmp1.log
find " File(s)" %TMP%\%USERNAME%tmp1.log /V %TMP%\%USERNAME%tmp.log
find "%TMP%\%USERNAME%TMP" %TMP%\%USERNAME%tmp.log /V /I
%0\...\1meg_%USERNAME%.log
del %TMP%\%USERNAME%tmp*.log
exit