노무현 대통령 배너
BLOG main image
왕미친놈의 왕미친세상입니다. 미친 소리는 써도 되지만, 근거 없는 소리는 쓰면 안 됩니다.


파이어폭스(영문)에서 부가 기능을 이용하다 보면 간혹 ssl 관련 오류가 나는 때가 있습니다. 저도 여러 번 보았고요. 게시글도 하나 올렸습니다. 아무튼 그 벌레를 발견하는 분은 반드시 그 팁을 적용하기 바랍니다.

오류 내용

ssl_error_rx_record_too_long 오류 화면

ssl_error_rx_record_too_long 오류 화면

이번에 몇 가지 특이한 경우를 발견했습니다. 그러므로 반드시 이 팁을 적용할 필요가 있습니다. 증상은 다음과 같습니다.

  1. 부가 기능 가운데 확장 기능을 설치할 때 나타나서 귀찮게 한다.
  2. 부가 기능 가운데 플러그인을 설치할 때 나타나서 귀찮게 한다.
  3. 보안 인증서와 관련하여 오류가 발생한다.
  4. 부가 기능 가운데 보안 인증서가 필요한 항목은 설치에 실패하는 경우가 생긴다. 지금까지 구글 툴바 확장 기능과 어도비 플래시 플러그인에서 발견된 현상입니다.
  5. 간혹 온라인 업데이트 기능을 이용할 때 확장 기능을 찾기 못한다.
  6. 2010년 1월 29일까지 영문 전용 버전에서는 발견하지 못했습니다.[각주:1] 영문 버전이라도 인터내셔널 버전에서는 발견하였습니다.

특히 4번 사항은 보안상 문제가 생길 수 있으므로 반드시 파이어폭스 부가기능 오류 코드 : ssl_error_rx_record_too_long 팁을 적용하기 바랍니다.

참고로 저는 아직 모질라 파이어폭스 v3.6을 사용하지 않고 있습니다. 파폭 3.6에서도 발생하는 현상인지 확인하신 분은 글을 좀 남겨 주십시오.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. 이 버그를 제가 발견하지 못했다는 뜻입니다. 오해 없기를 바랍니다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

FOR 명령을 이용하여 파일 구조 분석이나 변수를 대체하여 사용할 수 있습니다. 이것을 이용하면 직접적으로 접근하기 힘든 것을 환경 변수를 조작할 수 있습니다.

읽기에 앞서

  • 명령어 구문에서 { | }(브레이스와 바, 중괄호와 막대)로 이루어진 부분은 둘 가운데 하나를 선택해야 한다. 예컨대 {%% | %}와 같은 경우 %%와 % 가운데 하나를 선택하여 사용해야 함을 뜻한다.
  • [](대괄호)로 묶인 부분은 그 부분을 쓰지 않아도 무방함을 나타낸다. 필요할 때만 쓰면 된다.

변수 대체

변수 대체란 말 그대로 입력 받은 변수를 다른 형태로 바꾼다는 뜻이다. 이 변수 대체를 이용하면 몇 가지 조작을 할 수 있다.

변수 대체 기본 사용법

  • %~L
    따옴표("")를 제거하는 %L을 확장합니다. 경로 명 등에 쓰인 따옴표를 제거할 때도 쓸 수 있습니다.
  • %~fL
    전체 경로 이름으로 %L을 확장합니다. 아래 그림에서 집합에는 *.txt 를 넣었으며, 경로는 포함하지 않았음에도 %~fL은 그것을 전체 경로로 확장해 주고 있다.

    위 그림의 내용은 C 드라이브 루트디렉터리에 txt 확장자를 가진 파일이 존재하면 그 파일의 전체 경로를 매개변수로 삼아 dir 명령을 실행하라는 뜻이다.
  • %~dL
    드라이브 문자 전용으로 %L을 확장합니다. 다시 말해 집합에 들어 있는 *.txt를 그것이 존재하는 드라이브명과 콜론(: 쌍점)만 취해서 나타내 준다.
  • %~pL
    경로 전용으로 %L을 확장합니다. %~fL에서 %~dL를 뺀 나머지를 돌려준다. 다시 말해 %~fL에서 맨 앞의 드라이브 문자와 콜론(: 쌍점)을 뺀 나머지를 돌려준다.
  • %~nL
    파일 이름 전용으로 %L을 확장합니다. 기본적으로 집합에 입력한 값과 같은 파일이 존재할 때 그 파일명만 읽어올 때 사용합니다. 이것은 어떤 파일이 존재하는지를 알아보고, 그것과 이름이 같으나 확장자가 다른 파일이 있는지를 알고 싶을 때 사용한다.
  • %~xL
    파일 확장명 전용 %L을 확장합니다. 기본적으로 집합에 입력한 값과 같은 파일이 존재할 때 그 확장자만 읽어올 때 사용합니다. 확장자를 읽어올 때 점(. 콤마)를 함께 읽어옵니다.
  • %~sL
    짧은 이름만 포함하도록 경로를 확장합니다. 이것은 도스에서 사용하는 짧은 경로명으로 파일 이름을 나타내 줍니다.
  • %~aL
    파일의 파일 특성으로 %L을 확장합니다. 다시 말해 파일 속성만을 나타내 주며, 이때 윈도의 형식이 아닌 유닉스 형식에 따라 나타내 준다는 점이 특이합니다.
  • %~tL
    파일의 날짜/시간으로 %L을 확장합니다. 이때 날짜는 date /t 의 형식을 따르며, 시간은 time /t 의 형식을 따릅니다.
  • %~zL
    파일 크기로 %L을 확장합니다.
  • %~$PATH:L
    PATH 환경 변수 목록에 나열된 디렉터리를 검색하고 처음으로 찾은 디렉터리의 전체 이름으로 %L을 확장합니다. 환경 변수 이름이 정의되어 있지 않거나 검색으로 파일을 찾을 수 없으면 이 수정자는 빈 문자열로 확장됩니다.

    C 드라이브 루트디렉터리는 PATH 환경 변수에 지정되어 있지 않으므로 %L 환경변수에 대한 %~$PATH:L 환경변수는 공백을 돌려준다.

    C:\WINDOWS 디렉터리는 PATH 환경변수에 지정되어 있으므로 %~$PATH:L 환경변수 확장이 알맞은 값으로 대체하여 보여줍니다.

변수 대체 복합 사용법

FOR 명령 확장에서 변수 대체를 하나만 쓸 수도 있지만 여러 개를 복합하여 사용할 수도 있습니다.

  • %~dpL
    드라이브 문자 및 경로 전용으로 %L을 확장합니다.
  • %~nxL
    파일 이름 및 확장명 전용으로 %L을 확장합니다.
  • %~fsL
    이름이 짧은 전체 경로 이름 전용으로 %L을 확장합니다.
  • %~dp$PATH:L
    %L에서 PATH 환경 변수의 디렉터리 목록에 나열된 디렉터리를 검색하고 처음으로 찾은 드라이브 문자와 경로로 확장합니다.
  • %~ftzaL
    dir과 같은 출력 줄로 %L을 확장합니다.

위의 예제에서 %L과 PATH는 다른 유효한 값으로 바꿀 수 있습니다. 유효한 for 변수 이름은 %~ syntax를 종료합니다. %L 같은 대문자 변수 이름을 사용하면 코드를 더 읽기 쉽게 만들고 대소문자를 구분하지 않는 수정자와 혼동을 피할 수 있습니다.

응용 예시

Slave 님께서 질문을 하나 올려주셨습니다.

  1. for %f in (*.txt) do run %f > %f.result

위와 같이 하면 파일명은 항상 파일이름.txt.result라고 나타난다네요. 이것을 파일이름.result라고 바꾸고 싶다고 하셨습니다. 참고로 윈도에서 사용한다면 파일이름.txt.result라고 하는 쪽이 여러모로 좋지만, 파일이름.result를 더 좋게 여기는 사람도 많습니다. 이 부분은 사람마다 취향의 차이이므로 자기가 바라는 대로 출력하고자 하지요.

이 문제는 %~nL 항목을 응용하면 쉽게 바꿀 수 있습니다.

  1. FOR %F IN (*.txt) DO run %F > %~nF.result

배치파일에서 사용한다면 아래와 같이 하면 됩니다.

  1. FOR %%F IN (*.txt) DO run %%F > %%~nF.result

다음 예고

FOR 명령에서 파일 구문 분석에 대해 알아보겠습니다.

이 글은 스프링노트에서 작성되었습니다.


'스크립트 > 배치파일' 카테고리의 다른 글

FOR 명령 확장 1  (2) 2009.06.17
FOR 명령  (6) 2009.05.16
GOTO 명령  (3) 2009.05.05
IF 명령 확장  (1) 2009.04.22
IF 문자열  (4) 2009.04.18
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

FOR 명령과 관련한 여러 가지 쓰임은 상당히 유용하다. 아울러 명령줄에서 직접 제공하지 않는 기능을 FOR 명령 확장을 이용하여 구현할 수도 있다.

읽기에 앞서

  • 명령어 구문에서 { | }(브레이스와 바, 중괄호와 막대)로 이루어진 부분은 둘 가운데 하나를 선택해야 한다. 예컨대 {%% | %}와 같은 경우 %%와 % 가운데 하나를 선택하여 사용해야 함을 뜻한다.
  • [](대괄호)로 묶인 부분은 그 부분을 쓰지 않아도 무방함을 나타낸다. 필요할 때만 쓰면 된다.

디렉터리 전용

집합에 와일드카드(* 및 ?)를 포함하면 지정된 명령은 지정된 디렉터리의 파일 집합 대신 집합과 일치하는 각 디렉터리에 대해 실행됩니다. 구문은 다음과 같습니다.

FOR /D {%% | %}변수 IN (집합) DO 명령 [명령-매개 변수]

예컨대 파일은 그대로 두고 디렉터리의 이름만을 바꾸고 싶다면, 이 디렉터리 전용 옵션은 상당히 유용합니다.

재귀적 사용

[드라이브:]경로를 루트로 하여 디렉터리 트리를 따라 내려가며 FOR 구문을 트리의 각 디렉터리에서 실행합니다. /R 스위치 뒤에 디렉터리가 지정되지 않으면 현재 디렉터리가 사용됩니다. 집합에 마침표(.)가 사용되면 디렉터리 트리만 나열합니다.

FOR /R [[드라이브:]경로] {%% | %}변수 IN (집합) DO 명령 [명령-매개 변수]

이 구문은 명령어가 하위 디렉터리 옵션을 지원하지 않을 경우에 상당히 유용합니다.

값의 범위 반복

반복 변수를 사용하여 시작을 설정한 다음 값이 집합의 을 초과할 때까지 값의 집합 범위를 단계적으로 검사합니다. 집합은 단계별로 증가/감소하는 시작부터 끝까지의 일련의 숫자입니다. 따라서 (1,1,5)는 1 2 3 4 5를 나타내며 (5,-1,1)은 5 4 3 2 1을 나타냅니다.

FOR /L {%% | %}변수 IN (시작,단계,끝) DO 명령 [명령-매개 변수]

이 구문은 프로그래밍 언어에서 사용하는 FOR 구문과 비슷합니다. 실제로 배치파일에서 사용하기 위해 변수와 수치를 대입하면 다음과 같습니다.

  1. @ECHO OFF
  2. SETLOCAL
  3. SET SUM=0
  4. SET SUMTEMP=0
  5. FOR /L %%i IN (1,1,10) DO CALL :COUNT
  6. GOTO :EOF
  7.  
  8. :COUNT
  9. SET /A SUMTEMP=%SUMTEMP%+1
  10. SET /A SUM=%SUM%+%SUMTEMP%
  11. ECHO %SUMTEMP% = %SUM%
  12. GOTO :EOF

참고로 C언어에서는 다음과 같은 구조를 가집니다.

  1. int i, sum;
  2. for (i=1, sum=0; i<=10; i++) {
  3. sum = sum + i;
  4. printf ("\d\n", sum);
  5. }

다음 예고

FOR 명령에서 파일 구조 분석과 변수 대체에 대해 알아보겠습니다.

이 글은 스프링노트에서 작성되었습니다.


'스크립트 > 배치파일' 카테고리의 다른 글

FOR 명령 확장 2  (3) 2009.07.16
FOR 명령  (6) 2009.05.16
GOTO 명령  (3) 2009.05.05
IF 명령 확장  (1) 2009.04.22
IF 문자열  (4) 2009.04.18
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

버추얼PC 2007 SP1에 윈도7을 게스트OS로 설치한 뒤에 속도가 너무나 느렸다. 더구나 화면이 뚝뚝 끊겨서 사용은커녕 윈도 종료조차 힘들 지경이었다. 버추얼박스와는 너무나 다른 상황이 발생하여 설치를 마치고 당황했을 정도였다.

결국 가상머신 확장을 설치하기로 했다. 이 가상머신 확장(Virtual Machine Additions)은 버추얼박스의 게스트 확장에 해당한다.

가상머신 확장 설치

버추얼PC를 구동하여 윈도7을 실행한 상태에서 호스트키<오른쪽Alt>를 눌러 가상머신에서 마우스 포인터를 그 바깥으로 꺼낸 뒤에 메뉴를 클릭하여 다음 그림과 같이 선택하면 된다. 간단히 <오른쪽Alt+i>를 눌러도 된다.

잠시 후에 아래와 같은 자동실행(AutoPlay) 화면이 나타난다. Run Setup.exe를 클릭하면 설치 프로그램이 실행된다.

사용자 계정 컨트롤(User Account Control; UAC)에서 아래 그림처럼 물음표가 그려진 방패 옆의 영어 문장이 있다. 이것은 "해당 프로그램이 이 컴퓨터의 설정을 변경하려는데, 실행하겠는가?"라는 물음이다. 기본값은 No, 하지만 여기에서는 Yes를 클릭한다.

윈도 인스톨러(Windows Installer)가 실행된다.

그런데 영문 윈도7 RC인데도 한글 설치 프로그램이 실행되었다. 이는 전혀 예상하지 못한 상황이다. 아마도 윈도7에서 새롭게 추가된 기능으로 보인다. 이는 윈도7 RC를 설치할 때 시간 및 통화 형식(Time and currency format)을 한국어/한국(Korean (Korea))로 설정했기 때문으로 여겨진다.

아무튼 프로그램 설치를 계속하였다.

설치를 마치자 재부팅하겠느냐고 물어오자 를 클릭하였다.

얼마나 빨라졌나?

유감스럽게도 그다지 빨라졌다는 느낌을 받지 못했다. 이것을 설치하면 내심으로는 윈도XP를 버추얼PC에 설치한 뒤 가상머신 확장을 설치하면 상당히 빨라진 경험을 했기 때문에 이번에도 기대를 했었다. 하지만 프로그램 실행에서 빨라졌다고 보기는 힘들었다. 다만 시작 단추를 클릭했을 때 메뉴가 상당히 빨리 뜨고 또한 화면 끊김이 줄어들어서 보기는 좋았다.

그러나 이것을 사용하기에는 무리가 있어 보인다.

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

카테고리

분류 전체보기 (1005)
스크립트 (22)
벌레와 팁 (126)
소프트웨어 (240)
하드웨어 (6)
이야기 (24)
말의 나무 (506)
미쳐보자 (22)
일기 (48)
아이폰 (10)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

글 보관함