'말의 나무 > 천일번제' 카테고리의 다른 글
[제137번제] 사랑과 고민 (0) | 2010.09.23 |
---|---|
[제136번제] 꽃말 모음 4 (0) | 2010.09.22 |
[제134번제] 우울 (0) | 2010.09.20 |
[제133번제] 삐삐약어 5 (0) | 2010.09.20 |
[제132번제] 별의 만남 6 (0) | 2010.09.19 |
[제137번제] 사랑과 고민 (0) | 2010.09.23 |
---|---|
[제136번제] 꽃말 모음 4 (0) | 2010.09.22 |
[제134번제] 우울 (0) | 2010.09.20 |
[제133번제] 삐삐약어 5 (0) | 2010.09.20 |
[제132번제] 별의 만남 6 (0) | 2010.09.19 |
그대가 행복하고
영광에 둘린 때 오면,
나, 그대 앞에 무릎 꿇고
사랑을 맹세하리.
이 글은 원래 '만약 11번 글'이었습니다. 최근에 적은 글이 중간에 하나 끼어들어서 뒤로 밀린 셈이죠. 또한 '만약' 시리즈는 거의 다 나왔다고 보시면 됩니다.
[제125번제] 삐삐약어 4 (0) | 2010.09.14 |
---|---|
[제124번제] 가님 빈 아유이브 (0) | 2010.09.13 |
[제122번제] 꽃말 모음 2 (0) | 2010.09.12 |
[제121번제] 삐삐약어 3 (0) | 2010.09.11 |
[제120번제] 사랑이란? 66 (0) | 2010.09.10 |
그대 웃음이
햇살처럼 맑다면,
나, 옹달샘 맑은 물에
햇살을 비추어 보리.
햇살에 대한 내용이 유독 많은데, 그때 내가 "사랑"을 "따스함" 또는 "빛"으로 정의한 적이 잦았기 때문으로 여겨집니다.
[제113번제] 사랑이란? 64 (2) | 2010.09.06 |
---|---|
[제112번제] 사랑이란? 63 (0) | 2010.09.05 |
[제110번제] 사랑이란? 62 (0) | 2010.09.04 |
[제109번제] 삐삐약어 1 (0) | 2010.09.03 |
[제108번제] 만약... 10 (0) | 2010.09.02 |
그대 웃음이
햇살처럼 따스하다면,
나, 양지에 누워
단잠에 취해 보리.
[제110번제] 사랑이란? 62 (0) | 2010.09.04 |
---|---|
[제109번제] 삐삐약어 1 (0) | 2010.09.03 |
[제107번제] 애국 2 (2) | 2010.09.01 |
[제106번제] 만약... 9 (0) | 2010.09.01 |
[제105번제] 다이아몬드와 석탄 (0) | 2010.09.01 |
그대 웃음이
햇살처럼 밝다면,
나, 밤의 어둠을
두려워 않으리.
[제108번제] 만약... 10 (0) | 2010.09.02 |
---|---|
[제107번제] 애국 2 (2) | 2010.09.01 |
[제105번제] 다이아몬드와 석탄 (0) | 2010.09.01 |
[제104번제] 사랑이란? 61 - 이어주는 마음 (0) | 2010.08.31 |
[제103번제] 왜? (0) | 2010.08.31 |
그대 손에
물집 잡혀 터진다면,
나, 그대 손을
고이고이 감싸리.
[제88번제] 비와 사랑 (0) | 2010.08.18 |
---|---|
[제87번제] 사랑이란? 52 (0) | 2010.08.18 |
[제85번제] 유일한 표현 방법 (0) | 2010.08.17 |
[제84번제] 내가 사랑하는 사람아! 2 (0) | 2010.08.17 |
[제83번제] 사랑과 불륜 (0) | 2010.08.16 |
그대 등에
날개가 달린다면,
나, 그대 날개의 이룰
깃털이 되리.
[제79번제] 사랑이란? 50 (0) | 2010.08.12 |
---|---|
[제78번제] 사랑이란? 49 (0) | 2010.08.11 |
[제76번제] 만약... 6 (0) | 2010.08.09 |
[제75번제] 나는 사랑한다. (0) | 2010.08.08 |
[제74번제] 만약... 5 (0) | 2010.08.07 |
그대 발이
부르텄다면,
나, 그대 발을 싸맬
발싸개 되리.
[제78번제] 사랑이란? 49 (0) | 2010.08.11 |
---|---|
[제77번제] 만약... 7 (0) | 2010.08.10 |
[제75번제] 나는 사랑한다. (0) | 2010.08.08 |
[제74번제] 만약... 5 (0) | 2010.08.07 |
[제73번제] 만약... 4 (0) | 2010.08.06 |
그대 몸이
세상 모진 풍파에 곤하다면,
나, 그대 쉴 만한
안식처 되리.
원래는 안식처 대신에 '항구'라고 하려고 했다. 그런데 항구 말고 '만'도 안식처로서 기능을 했다는 사실을 알고서 고쳤다.
[제76번제] 만약... 6 (0) | 2010.08.09 |
---|---|
[제75번제] 나는 사랑한다. (0) | 2010.08.08 |
[제73번제] 만약... 4 (0) | 2010.08.06 |
[제72번제] 만약... 3 (0) | 2010.08.05 |
[제71번제] 얼마나 사랑하냐고요? 6 (0) | 2010.08.04 |
그대 얼굴이
굳건한 반석이라면,
나, 그 위에 영광스러운
그대 이름을 새겨 놓으리.
[제75번제] 나는 사랑한다. (0) | 2010.08.08 |
---|---|
[제74번제] 만약... 5 (0) | 2010.08.07 |
[제72번제] 만약... 3 (0) | 2010.08.05 |
[제71번제] 얼마나 사랑하냐고요? 6 (0) | 2010.08.04 |
[제70번제] 사랑이란? 48 (0) | 2010.08.03 |
그대 슬픔이
저 하늘이라면,
나, 그 하늘에 희망을 불러오는
무지개를 걸어 놓으리.
[제74번제] 만약... 5 (0) | 2010.08.07 |
---|---|
[제73번제] 만약... 4 (0) | 2010.08.06 |
[제71번제] 얼마나 사랑하냐고요? 6 (0) | 2010.08.04 |
[제70번제] 사랑이란? 48 (0) | 2010.08.03 |
[제69번제] 별의 만남 2 (0) | 2010.08.02 |
그대 눈물이
하늘에서 떨어지는 빗방울이라면,
나, 그 빗물 받아
갈급한 목을 축이리라.
[제56번제] 가장 아름다운 말 (0) | 2010.07.20 |
---|---|
[제55번제] 사랑이란? 36 (0) | 2010.07.19 |
[제53번제] 만약... 1 (0) | 2010.07.17 |
[제52번제] 사랑 이야기 (0) | 2010.07.16 |
[제51번제] 사랑이란? 35 (0) | 2010.07.15 |
그대 눈물이 바다라면,
나, 그 바다를 먹물 삼아
그대 슬픔을 노래하리라.
천일번제에는 "사랑이란?"과 함께 가장 많이 등장하는 문구가 바로 "If"(만약)입니다.
[제55번제] 사랑이란? 36 (0) | 2010.07.19 |
---|---|
[제54번제] 만약... 2 (0) | 2010.07.18 |
[제52번제] 사랑 이야기 (0) | 2010.07.16 |
[제51번제] 사랑이란? 35 (0) | 2010.07.15 |
사랑이란? 34 - 사랑고백 (0) | 2010.07.14 |
IF 명령 확장은 IF 명령이 가진 기능을 추가하고 넓힌다는 뜻으로, IF 명령으로 여러 가지 다른 처리를 할 수 있도록 해 준다. 앞서 나온 IF 문자열에서도 일부 소개하였지만, 윈도XP의 IF 명령은 상당히 뛰어난 기능을 제공하고 있다. 대부분 IF 문자열 기능에 포함되어 있고, 여기에서는 IF 문자열에서 설명하지 않은 부분만을 설명하겠다.
IF 명령 확장에는 세 문자로 이루어진 비교 연산자(연산자 확장)와 IF CmdExtVersion 구문 및 IF Defined 구문이 있다.
명령확장을 사용할 수 있는지를 사용할 수 있다. 또한 명령확장의 버전을 검사하여 배치파일 실행 여부를 판단할 때도 쓸 수 있다.
위와 같은 형식이 가장 기본적이다. echo 문은 예시일 뿐이니, 저 부분에 자신이 실행하기를 바라는 명령을 넣으면 된다.
또한 단순히 명령확장을 사용할 수 있는지를 알려면 다음과 같이 하면 된다.
명령확장을 사용할 수 있다면 "if CmdExtVersion 0"은 무조건 참이 되어야 하므로 위의 예제는 명령확장을 사용할 수 있는지를 검증해 주는 코드가 된다.
IF Defined 구문은 IF 문자열 구문의 확장으로 볼 수 있다.
위 두 문장은 출력문만 다를 뿐 완전히 같다. 환경변수가 정의되어 있다면 항상 문자열 값을 가지게 되므로 위의 구문에서 참값을 가지게 된다. 결국 "환경변수 %var%이(가) 정의되어 있습니다."라고 출력한다는 뜻이다. 이때 *(별표) 대신 다른 문자를 사용해도 결과는 같으나, %, ^, & 등은 사용하지 않는 것이 좋다. 특히 %와 ^는 배치파일에서 특별한 작용을 하므로 if문에 사용했을 경우 그 효과를 정확히 알고 사용해야 한다.
위의 예제를 Defined 를 이용하여 고치면 다음과 같다.
if Defined 환경변수 구문을 이용하게 되면 세 환경변수―%errorlevel%, %cmdcmdline% 및 %cmdextversion%―를 사용할 수 있게 됩니다. %errorlevel% 환경변수는 마지막으로 실행한 프로그램이 돌려주는 종료코드를 저장하고, %cmdcmdline% 환경변수는 마지막으로 실행한 명령줄을 저장합니다. 그리고 %cmdextversion% 환경변수는 앞서 설명했듯이 명령확장의 버전을 저장하고 있습니다.
지난 번 과제는 다음 구문을 옳게 고치라는 문제였습니다.
아래와 같이 하면 된다. 빨간 색 부분을 유심히 살펴보기 바란다.
GOTO문을 설명하기에 앞서 잠시 쉬어가는(?) 시간을 갖도록 하자. 다음에는 환경변수에 대해서 알아보겠다.
이 글은 스프링노트에서 작성되었습니다.
IF 문자열 비교 구문은 말 그대로 문자열을 비교하는 구문이다. 이것은 윈도NT 계열에서 추가된 환경 변수 등을 이용하여 여러 가지 작업을 할 수 있도록 해준다. 문자열의 내용을 분석하여 정수(십진수, 팔진수, 십육진수)로 변환하여 계산해 주기도 한다.
IF 문자열 비교 구문에서는 일반적으로 등호를 두 개 겹쳐서 쓰게 된다.
위와 같은 형식을 이루게 된다. 이때 큰괄호( [ ] )로 묶인 부분은 반드시 쓸 필요는 없고 필요할 때 쓰면 된다. 또한 문자열에 공백을 포함하지 않았다면 따옴표를 사용하지 않아도 된다.
명령 확장이라고 말하기는 했으나, 사실 /i 선택자는 cmd.exe에 포함된 if 명령에서는 기본 선택자이다. 다만 도스의 if 명령과 호환성이 없기 때문에 확장이라고 칭했을 뿐이다.
문자열 비교 구문에서 /i 선택자를 쓰게 되면 그 기능을 확장할 수 있다. 이것은 대문자와 소문자를 무시하고 문자열을 비교하게 됩니다.
위의 문자열 비교 구문은 거짓을 돌려주므로 화면에 아무것도 보여주지 않는다. 그러나 아래 문자열 비교 구문은 참을 돌려주므로 화면에 "STRING is string."이라는 문자열을 출력해 준다.
문자열 비교 구문에서는 세 문자로 이루어진 비교 연산자를 사용할 수 있다. 이것은 /i 선택자를 사용하여 융통성을 가지는데, 예컨대 숫자로만 이루어진 문자열은 수로 변환하여 비교해 준다.
세 문자로 이루어진 비교 연산자에는 다음과 같은 것이 있다.
비교 연산자는 언뜻 보아서는 숫자로 이루어진 문자열에만 쓰일 듯이 보이지만 로마자 등으로 이루어진 문자열에도 쓰일 수 있다.
위의 코드는 10진수 22와 8진수 026을 비교하는 구문이다. 당연히 두 값은 크기가 같으므로 화면에 문자열을 출력해 준다.
위의 코드는 8진수 026과 16진수 0x16을 비교하는 구문이다. 당연히 두 값은 크기가 같으므로 화면에 문자열을 출력해 준다.
두 예제는 /i 선택자가 문자열을 확장하여 "일반적으로 해석"하는 예시이다. 다시 말해 문자열 22는 10진수 22로 해석해 주며, 026은 8진수로, 0x16은 16진수로 해석해 준다. 10진수는 0으로 시작할 수 없으며, 0으로 시작하는 수는 8진수이거나 16진수가 된다. 또한 0으로 시작하는 문자열 가운데 0x로 시작하는 문자열은 16진수로 여기게 된다.
하지만 089 등의 문자열은 올바르지 않으므로 오류가 발생하게 된다. 이는 8진수에 8과 9와 같은 숫자는 존재하지 않기 때문이다. 마찬가지로 0x9G 등의 문자열도 올바르지 않다고 여긴다. 이럴 경우 문자열을 수로 확장해 주지 않고, 문자열 자체(리터럴 문자열)로서 비교하게 된다. 참고로 순수한 문자열을 리터럴 문자열(literal string), 수치로서 변환되는 문자열을 숫자 문자열(number string / numeric string)이라고 부른다.
한편 다음에 오는 두 비교문은 서로 다른 결과를 가진다.
위의 비교문은 수치 비교문으로 참값을 돌려주므로 "22 is 026."을 출력한다.
위의 비교문은 리터럴 문자열 비교문으로 거짓값을 돌려주므로 아무것도 출력하지 않는다.
다시 말해 숫자로 이루어진 문자열을 숫자 문자열로서 비교하려면 반드시 문자로 이루어진 비교 연산자를 사용해야 한다.
또한 다음과 같이 사용할 수도 있다.
또는
앞서 말했듯이 세 문자로 이루어진 비교 연산자로 숫자 문자열뿐만 아니라 리터럴 문자열까지 비교할 수 있다.
위의 비교문도 정상 작동한다.
그렇다면 작거나 같음을 비교할 때는 어떻게 동작할까? LSS (보다 작음), LEQ (작거나 같음), GTR (보다 큼), GEQ (크거나 같음)과 같은 세 문자로 이루어진 비교 연산자를 이용하여 대문자와 소문자를 비교해 보자,
위 예제는 10진수 22가 8진수 027보다 작으면 뒤따르는 문자열을 출력하라는 문자열 비교문입니다.
그러면 다음과 같은 두 가지 예문은 어떻게 작동할까?
우선 1행은 아무런 출력이 없다. 왜냐하면 /i 선택자 때문에 대문자와 소문자를 무시하고 비교했기 때문이다. 그러나 2행은 소문자 abc가 대문자 ABC보다 더 작은 값으로 해석되어 문자열 "abc is less than ABC."을 출력해 준다.
마찬가지로 위의 코드는 대문자 ABC가 소문자 abc보다 더 큰 값으로 해석되어 "ABC is greater than abc."라는 문자열을 출력해 준다.
위와 같이 대문자와 소문자 비교에서 대문자가 소문자보다 더 크다고 판정함을 알 수 있다.
그 다음으로 문자간 비교를 해볼 수 있다.
위의 예제는 문자여을 출력해 준다. 다시 말해 문자열 d가 문자열 a보다 더 큰 값을 가진다고 판단함을 알 수 있다. 반대로 아래와 같은 비교문도 성립한다.
로마자 알파벳을 비교할 때 순서가 빠른 문자를 더 작다고 판단함을 알 수 있다.
한글 문자열을 비교할 때도 성립한다.
한글을 로마자보다 더 작다고 판정하고 있다.
아무도 검사하지 않는 과제가 또 나왔습니다. 헤헤 ^^a
위의 배치 파일이 정상적으로 작동하도록 고쳐 보자.
IF 명령을 하나씩 짚어보자. (4) : IF 명령확장
이 글은 스프링노트에서 작성되었습니다.
IF EXIST 구문은 단순히 어떤 디렉터리나 파일이 존재하는지를 알려줄 뿐이다. 응용하기에 따라서는 상당히 유용한 기능을 제공한다. 또한 속성의 영향을 받지 않기 때문에 숨김 속성의 파일이나 시스템 속성의 파일도 찾아낼 수 있다. 또한 윈도 탐색기에서 접근하지 못하도록 레지스트리 등을 조작하여 감춰둔 드라이브도 접근할 수 있다.
IF EXIST 구문에는 기본 문법 외에 명령 확장이 존재하지 않는다. 정확히 말해 명령 확장을 이용할 수는 있지만, 그와 같은 명령 확장은 if 명령 전체에 적용되는 명령 확장이고, IF EXIST 구문에만 쓰이는 명령 확장이 아니다. 또다른 명령 확장으로 set 명령 확장이 있으나, 이것 역시 IF EXIST 구문에만 쓰이는 명령 확장이 아니다. 그러므로 여기에서는 설명하지 않겠다.
EXIST는 말 그대로 "있다" 또는 "존재한다"라는 뜻을 가지고 있다. 그러므로 IF EXIST 구문은 무엇인가가 존재하는지를 묻는 구문이 된다. 존재하면 참값을, 존재하지 않으면 거짓값을 돌려준다.
실제로 적용하기에는 무리가 있지만, 간단한 배치파일을 작성하였다.
예제 13은 C 드라이브 루트디렉터리에 있는 파일을 기준으로 운영체제를 판별하는 배치파일이다. 이 배치파일은 정확한 동작을 보장하지 않지만, 대부분의 경우 올바르게 작동한다. 따라서 실제로 이용하기에는 무리가 있으나, 파일 존재 구문(IF EXIST 구문)을 시험하기에는 안성맞춤이다.
위에서 IF EXIST 구문이 두 번 나오는데, 순서를 바꾸면 오류가 난다. 왜냐하면 윈도XP를 비롯한 윈도NT 계열의 운영체제에도 C 드라이브 루트디렉터리에 io.sys와 msdos.sys, config.sys 및 autoexec.bat 파일이 존재하기 때문이다. 이것은 윈도95 계열에서도 마찬가지로 존재한다. 그러므로 윈도NT 계열에서만 존재하는 파일을 찾아야 하는데, 그것이 ntldr(NT Loader) 파일이다. 따라서 위의 배치파일은, 엄밀히 말해, 윈도NT 계열과 비윈도NT 계열을 판별하는 배치파일인 셈이다. 이때 io.sys 파일과 ntldr 파일이 숨김 속성과 시스템 속성을 함께 가지고 있지만, 문제 없이 접근하고 있다.
그러나 PC-DOS의 경우 위의 배치파일은 정상 작동하지 않는다. 왜냐하면 PC-DOS에서는 io.sys 파일 대신에 ibmio.sys 파일이 존재하기 때문이다. 그에 대한 적용은 여러분이 직접 해 보기 바란다.
폴더 감추기는 윈도 셸인 탐색기에 적용되는 사항으로, cmd.exe 명령에는 적용되지 않는다. 또한 탐색기에서 모습을 찾을 수 없도록 감추었을 뿐 정확한 경로를 알고 있다면 얼마든지 사용할 수 있다.
오른쪽은 원래의 드라이브 구성이고, 왼쪽은 윈도 레지스트리를 조작하여 감춘 구성이다.
이 경우 주소표시줄에 직접 D:\ 와 같이 입력하면 D 드라이브의 루트 폴더에 접근할 수 있다. 앞서 말했듯이 감춰두었을 뿐 막은 게 아니기 때문이다. 그러나 사람들은 눈에 안 보이면 사용하지 못한다고 여기기 때문에 이렇게 드라이브를 감추는 작업은 유용할 때가 많다.
한편 명령 프롬프트에서는 애초에 모든 드라이브가 감춰진 상태이다.
달랑 자신의 홈디렉터리만 보여준다. 홈디렉터리는 유닉스 계열이나 명령 프롬프트에서 쓰는 개념이고, 윈도에서는 프로필폴더이다. 명령 프롬프트에서 다음과 같이 입력하면 된다.
USERPROFILE 환경 변수에 자신의 홈디렉터리(프로필폴더)에 대한 정보를 가지고 있다. 정확히 어디인지를 보려면 다음과 같이 입력하면 된다.
그밖에 HOMEDRIVE, HOMEPATH 등의 환경변수가 지정되어 있다. 위의 경우 홈드라이브(HOMEDRIVE)는 D: 문자열이, 홈패스(HOMEPATH)는 \Usr\LCP 문자열이 지정되어 있으며, 명령 프롬프트에서 set 명령을 입력하면 확인할 수 있다.
보통의 경우 USERPROFILE 환경 변수는 C:\Documents and Settings\USERNAME 문자열을 가지게 된다. 이때 이탤릭체로 표시한 USERNAME은 사용자마다 다르다.
아무튼 위의 두 "내 컴퓨터" 화면처럼 존재하는 폴더를 감추더라도 명령 프롬프트에서는 무리 없이 접근할 수 있다. 이것을 이용하는 것은 여러분의 몫이다.
이 글은 스프링노트에서 작성되었습니다.
IF 명령 확장 (1) | 2009.04.22 |
---|---|
IF 문자열 (4) | 2009.04.18 |
IF ERRORLEVEL에 쓰이는 종료코드 (12) | 2009.04.14 |
IF 기본 설명 (6) | 2009.04.09 |
배치파일에 매개변수 전달하기 2 (5) | 2009.04.04 |
IF 명령은 FOR 명령과 함께 배치파일에서 지원하는 제어 명령이다. 또한 윈도XP는 도스의 그것보다 훨씬 강력한 기능을 제공하고 있다. 이때 if 명령은 가정문을 만들고, for 명령은 반복문을 만드는 데 쓰인다.
IF는 말 그대로 "만약"이라는 뜻을 가지고 있다. 그러므로 이 명령어를 발견하면 영어를 읽듯이 읽어가면 된다.
if를 명령줄에서 쓸 수도 있지만, 주로 배치파일 안에서 쓰인다.
위 그림을 보면 분명히 명령줄에서 if 명령을 사용하고 있다. 처음 명령은 현재 디렉터리 아래에 aa 디렉터리가 존재하지 않는다면 Not found를 출력하는 명령이며, 둘째 명령은 c:\2 디렉터리가 존재하면 Found를 출력하는 명령이다.
명령줄에서 다음과 같이 입력하면 기본 사용법을 알 수 있다.
if /?
일단 if 명령은 조건문에서 나타나는 결과에 따라 명령어를 수행하게 됩니다. 이때 조건문은 다음과 같은 세 가지입니다.
if 문은 위 세 가지 경우에 각 조건문이 참값을 가지면 뒤따르는 명령어를 실행시킵니다. 또한 세 가지 모두 "NOT"을 사용하여 조건문이 거짓인 경우에 명령어를 실행시킬 수도 있습니다. if, not, errorlevel, exist 등은 대/소문자를 가립니다. 대문자와 소문자를 구별하지 않으려면 /i 선택사항을 이용하면 됩니다. 다만 이 /i 선택사항은 명령 확장을 이용해야 한다. 다시 말해 도스의 if 명령과 호환성이 없다.
이 기본 문법에서는 명령 확장을 제외한 사항만 다룹니다.
마침 코드를 검사하여 알맞은 문장을 보여줍니다.
시만텍 사의 프로그램은 오류가 발생하지 않으면 마침 코드로 0을 돌려주고, 오류가 발생하면 1 또는 1보다 큰 값을 돌려준다. 그것을 이용하여 고스트가 제대로 작업을 마쳤는지를 사용자에게 알려줄 수 있다.
if 명령을 이용하여 문자열을 비교할 수 있다. 도스에서는 문자열에 공백이 들어가는 경우가 없으나, 윈도에서는 공백이 들어갈 수도 있다.
앞서 만든 HelloWho2.cmd 파일을 참조하여 매개변수를 출력하는 배치파일을 만들었다.
GOTO 명령은 배치파일 내부에서 레이블이 있는 곳으로 CMD.EXE 명령줄을 옮기는 역할을 한다. 레이블은 앞에 콜론( : )을 붙여 구분하고 있다.
또한 SHIFT 명령은 %0부터 %9까지의 매개변수의 순서를 바꾸어 주는 역할을 한다. 다시 말해 %9는 %8이 되고, %8은 %7이 된다. 그렇게 하나씩 이동하며 %1은 %0이 된다. 또한 %9 바깥에 있던, 지금까지 표현하지 못했던, %10의 위치에 있던 값을 %9로 옮겨 준다.
ViewPara.bat 배치 파일은 윈도와 도스에서 모두 실행할 수 있으나, 실행 결과는 항상 같지 않다.
위는 윈도XP의 명령 프롬프트이며, 아래는 버추얼박스에서 도스 v6.22를 실행한 화면이다. 다른 경우는 모두 같지만, 따옴표로 묶인 부분을 처리하는 방법이 다르다. 다시 말해 윈도XP에서는 따옴표로 묶인 부분은 하나의 문자열로 보았지만, 도스에서는 따옴표는 무시하고 화이트스페이스(공백문자)로 나뉜 부분을 문자열로 보았다.
또한 이 문자열 비교문은 운영체제의 환경변수를 비교할 때도 쓸 수 있다.
배치파일은 작업에 앞서 파일이나 디렉터리가 존재하는지를 알아볼 수 있는 방법을 제공한다. 바로 "if exist"라는 구문이다.
명령줄에서 매개변수로 파일명을 입력받아, 그 파일명에 해당하는 파일이 존재하는지를 알려준다.
IF 명령을 하나씩 짚어보자. (1)
이 글은 스프링노트에서 작성되었습니다.
IF EXIST (0) | 2009.04.15 |
---|---|
IF ERRORLEVEL에 쓰이는 종료코드 (12) | 2009.04.14 |
배치파일에 매개변수 전달하기 2 (5) | 2009.04.04 |
배치파일에 매개변수 전달하기 (0) | 2009.04.01 |
배치파일 멈추기 (1) | 2009.03.29 |