'Tip'에 해당되는 글 42건

가끔 USB 쓸 일이 있어 컴퓨터에 꽂았더니 USB가 인식이 안될 때가 종종 있습니다. 그럴 때는 참 골치가 아프죠. 단순히 본체 전면 포트 패널의 문제인 경우도 있지만, 후면에 메인보드에 직결해도 아예 인식이 안되는 경우가 있습니다. 분명 제대로 끼웠는데도 불구하고 내 컴퓨터에 USB장치의 아이콘과 디스크 이름, 용량 모두 아무것도 안보이는 상황이 바로 그것입니다.

저 또한 예전에 만들어 놓은 윈도우7 설치용 USB를 포맷해서 다른 용도로 다시 사용하려고 했더니 USB 메모리가 인식이 안되더라구요. "띵띵-띵" 하는 소리와 함께 USB가 확실히 컴퓨터에 연결이 된 소리는 들리는 데 내 컴퓨터 폴더 안에는 USB 장치가 인식이 안되어있고요.

 

 USB 포맷방법

앞서 말씀드린 문제처럼 내 컴퓨터에 USB 인식 안될 때 할 수 있는 방법을 알려드리겠습니다. 바로 윈도우에 내장되어있는 명령프롬프트(COMMAND.exe)를 이용하여 USB 포맷을 진행하는 방법입니다. 복잡하지 않으니 천천히 따라해보세요!

 


1. 명령프롬프트(CMD)를 켜주세요.

: 윈도우10(windows 10) 기준, 모니터 화면 좌측 하단에있는 검색창에 cmd를 치시고, 관리자 권한으로 실행해주세요.

 

2. cmd 창에 diskpart 입력

: 명령어를 적고 엔터를 치시면 됩니다. 디스크파트의 하위명령어를 작성하기 위함입니다.

 

3. list disk를 입력

: 현재 컴퓨터에 연결되어있는 저장장치들을 모두 나열시켜주는 명령입니다. 아래 화면을 보면 필자의 경우, 디스크0은 하드디스크(1TB)이고 디스크1은 SSD(250GB)입니다. 디스크2가 USB(8GB) 짜리 인 것입니다. 

 

4. select disk 2 를 입력

: 필자의 경우 디스크2 가 USB였어서 select disk 2를 입력한 것이고, USB가 디스크1로 되어 있으시면 select disk 1을 입력하시면 됩니다.

 

5. clean 입력

: 선택한 디스크 (USB)를 clean 명령어로 싹 밀어주세요.

 

6. create partition primary 입력

: 위 명령어를 통해서 USB의 파티션을 설정해줍니다.

 

7. list partition 입력

: list disk 명령어와 동일하게, 디스크 내에서 파티션이 어떻게 이루어져있는지를 보는 명령어입니다.

 

8. select partition 1 입력

: USB안에 파티션이 1밖에 없으므로 위 명령어를 입력합니다.

 

9. active 입력

: USB의 파티션을 활성화 해줍니다. 

 

10. format fs=ntfs quick 입력

: 9번과정에 이어서 곧바로 명령어를 입력해주세요. 이는 USB 포맷 형식을 NTFS 형식으로 포맷하도록 하는 것인데요, 일반적인 경우라면 여기서 모두 포맷이 성공적으로 끝납니다.

하지만!

윈도우용 부팅디스크를 만들었던 USB라거나 등등 다양한 원인 미상의 이유로, 명령어가 안먹히고 "0 퍼센트 완료 Diskpart에서 다음 오류가 발생했습니다. 매개 변수가 틀립니다. 자세한 내용은 시스템 이벤트 로그를 참조하십시오." 라는 문구가 뜨게 되는 경우가 있습니다. 이분들도 걱정 마시고 아래의 USB 포맷방법을 쭉 따라와 주세요.


 

 Diskpart 매개변수 오류 발생시 USB 포맷방법

 

11. cmd 명령어로 포맷 진행시, 매개변수가 틀리다고 USB 포맷 안됨 오류가 발생했을 때

: 위 스크린샷에서 "Diskpart에서 다음 오류가 발생했습니다. 매개 변수가 틀립니다. 자세한 내용은 시스템 이벤트 로그를 참조하십시오." 라는 문구가 나왔습니다.

시스템 로그를 찾아보면,

이렇게 \Device\Harddisk2\DR2 장치에 잘못된 블록이 있습니다. 라고 되어있는데 이는 USB 포맷 디스크 쓰기 금지의 오류가 발생하는 경우입니다. 이럴 때는 마찬가지로 cmd 창에서, format fs=nat32 quick 이라고 입력해주세요. 이는 USB 포맷 형식을 FAT32 형식으로 포맷하는 명령어 입니다.

일단 DiskPart 명령어로 USB를 포맷하는 것은 성공한 것으로 볼 수 있습니다. 이 때 윈도우10에서 자동으로 USB 드라이브를 스캔하여 수정하시겠습니까? 라는 팝업창이 뜨게되는데요.

위 사진에 있는 것 처럼 팝업창에서 무언가 버튼을 누르라고 권장하고 있는 것 같은데, 누르지 말아주세요. 어차피 [스캔 및 수정(권장)]을 누르면 "이 드라이브에서 오류가 발견되었습니다. 데이터 손실을 방지하려면 이 드라이브를 지금 복구하십시오." 라는 팝업이 뜨게되고, 드라이브 복구를 하라고 합니다. 복구를 누르면, "드라이브 검사했습니다. 오류가 발견되지 않았습니다." 라고 팝업창이 뜹니다.

검사 및 복구 중이라며 안내창이 나오고 오류가 발견되지 않았다며 [닫기]를 눌러도 얼마 안지나서 갑자기 또 USB 드라이브를 스캔하라는 팝업창이 뜹니다. 또 검사하면 오류가 발견되지 않았다고 뜹니다. 이게 무한반복 되거든요. 그냥 무시해주시구요. 바로 [내 컴퓨터]에 들어가주세요.

그 전에는 인식이 안되서 아이콘, 장치 이름, 용량 등이 하나도 안보이고 있었건만, 드디어 내 컴퓨터에 USB 아이콘이 나타나게 되는데요. USB 아이콘에 마우스 커서를 갖다대고 오른쪽 클릭을 하여 [포맷]을 눌러줍니다.

여기서 중요한 건 cmd의 diskpart 명령어로 실패했던 파일 시스템 형식인 "NTFS"로 선택해주시고, 빠른 포맷 체크를 해제해주어야 한다는 점입니다. 시작을 눌리면 시간이 제법 걸립니다. 느긋하게 기다려주세요.

결과는,

포맷이 완료되었다고 뜨면서 USB 드라이브가 내 컴퓨터에 정상적으로 인식이 된 것을 볼 수있네요 ^^; 지금까지 일반적인 방법으로는 USB 포맷이 안될 때! 할 수 있는 USB 포맷방법에 대해 알아 보았습니다. 아, USB 포맷 형식을 NTFS로 한 이유가 궁금하실텐데, 보통 일반적으로 NTFS 형식이 안정성이 높고, 대신 호환성은 조금 떨어지지만 대용량을 인식할 수 있는 형식이라 그렇습니다. (FAT 방식은 4GB까지 밖에 인식이안됨)

궁금하실 수도 있으니 참고로 USB 포맷 형식 FAT32 , exFAT, NTFS에 대해 마지막으로 정리를 하고 포스팅을 마치겠습니다.

*파일시스템

FAT32
: USB메모리의 빠른 읽고 쓰기 속도를 위해 개발된 방식. 구조가 NTFS, exFAT에 비해 단순. 4GB의 크기 제한을 지니고 있음. 4GB 이상의 파일은 담아지지가 않음. NTFS에 비해 안정성과 보안성이 떨어짐. 따라서 용량이 큰 파일을 주로 담는다면 NTFS를 추천.


NTFS
 : FAT32에 비해 안정성과 보안이 뛰어남. 시스템 고장과 디스크 손상을 복구하는 능력이 있음. 그러나 속도가 느림. 마이크로소프트사에서 개발한 방식이기에 윈도우에서만 활용이 가능함. 윈도우 이외의 운영체제에서는 호환성이 떨어짐. 따라서 TV, 자동차 등에 넣을 때는 FAT32를 추천. FAT32와 달리 파일 하나하나의 크기에 대한 제한이 없음.


exFAT : FAT32의 단점을 보완하기 위해 만든 파일 시스템. 기존 FAT32의 치명적인 단점인 파일 하나당 4GB 크기 제한이 없어짐. FAT32의 범용성을 그대로 이어 받아 속도도 빠르며, 리눅스, 맥 웬만한 기기에서 사용이 가능. 즉 , 호환성은 좋아졌지만 안정성이 조금 떨어짐. 연결 해제를 하지않고 USB를 뽑으면 데이터가 손상될 위험이 있음.

기본 할당 크기 : USB를 다양한 용도로 사용할 경우 기본으로 설정.
작은 할당 크기 : 작은 문서 파일을 주로 담는 경우 유리
큰 할당 크기 : 영화 등 고용량 파일을 주로 담는 경우 유리

배치파일을 만들때 실행되는 내용이 관리자권한이 필요하면

파일 실행 시 우크릭으로 관리자 권한으로 실행을 해도 되나 매번 그러기도 번거롭고.....

배치파일 소스 상단에 소스 추가하여 관리자권한으로 실행하게 만들면 된다.

 

--------------------------------------------------------------------------------------------

set uaccheck=0

:CheckUAC

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

if '%errorlevel%' NEQ '0' (

    goto UACAccess

) else ( goto Done )

:UACAccess

echo 관리자 권한을 취득해야 합니다.

pause

echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\uac_get_admin.vbs"

set params = %*:"=""

echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\uac_get_admin.vbs"

"%temp%\uac_get_admin.vbs"

del "%temp%\uac_get_admin.vbs"

exit /b

:Done

echo 관리자 권한을 취득하였습니다.

--------------------------------------------------------------------------------------------

 

배치파일이 실행되면 관리자권한인지 체크 후 관리자권한으로 배치파일을 재실행하게 해주는 소스다. 임의로 생성한 배치파일 제일 상단에 위 소스를 넣으면 된다

1. PE로 부팅

2. QRes 파일을 C:\에 복사

3. display.bat 파일을 C:\ > 사용자(user) > 계정명 > AppData > Roaming > Microsoft > Windows > 시작 메뉴 > 프로그램 > 시작 프로그램에 복사

4. 재부팅

5. 부팅 후 해상도 자동 조정됨

6. 사용자 모니터 해상도에 맞게 변경

7. 해상도 조정 프로그램 삭제

    - C:\QRes.exe 파일 삭제

    - 실행 > shell:startup > display.bat 파일 삭제

QRes.zip
0.00MB

11세대 Intel 프로세서는 새로운 Intel Volume Management Device 기술을 활용하여 저장 장치의 데이터 처리 효과와 전력 소비를 최적화합니다.

Windows 10 리테일 또는 엔터프라이즈 버전을 설치할 때 Windows를 설치할 수 있도록 둘 모두 IRST 드라이버를 로드해야 합니다.  하드웨어 결함이 아니라 정상입니다.

11세대 Intel 프로세서가 장착된 컴퓨터에서 Windows 10을 설치할 때 Windows에서 드라이브를 찾지 못하는 경우 다음 문제 해결 단계를 참조하세요

 ※참고: 프로세서 모델 이름의 처음 두 글자가 11로 시작하는 것이 11세대 프로세서입니다.

Intel Rapid Storage Technology(IRST) 드라이버 다운로드

1. Intel Rapid Storage Technology(IRST) 드라이버를 다운로드합니다. 다운로드 링크

2. 드라이버를 다운로드 한 후 [V18.0.4.1146_IRST_VMD_20H1] 압축 파일

 을 마우스 오른쪽 버튼으로 클릭하고 [압축 풀기]를 선택합니다.

3. 지정 장소를 선택한 다음 [압축 풀기]를 클릭합니다.

4. 압축 풀기가 완료되면 전체 폴더(V18.0.4.1146_IRST_VMD_20H1)를 USB 플래시 드라이브에 복사합니다.

USB 플래시 드라이브를 사용하여 Windows 10 설치 미디어를 생성한 경우 Windows 10 설치 미디어로 생성된 동일한 USB 플래시 드라이브에 전체 폴더를 복사하세요.

5. 복사가 완료되면 폴더에 다음 파일들이 포함되어 있는지 확인하세요

Intel Rapid Storage Technology(IRST) 드라이버 설치

1. Windows 10 설치 미디어와 Intel Rapid Storage Technology(IRST) 드라이버(V18.0.4.1146_IRST_VMD_20H1 folder)가 포함된 USB 플래시 드라이브를 대상 컴퓨터에 연결합니다. (DVD를 사용하여 Windows 10을 설치한 경우 DVD를 삽입하고 위의 파일로 구성된 USB 플래시 드라이브를 대상 컴퓨터에 함께 연결합니다.)

2. Windows 10 설치 프로세스를 다시 시작합니다. 여기에서 설치 미디어를 사용하여 Windows 10을 설치하는 방법에 대해 자세히 알아볼 수 있습니다.

3. "Windows를 설치할 위치를 지정하세요. Windows가 드라이브를 찾을 수 없습니다" 화면에서 [드라이버 로드]를 선택하세요

4. [확인]을 선택합니다.

5. [확인]을 선택합니다.

6. [찾아보기]를 선택한 다음 [V18.0.4.1146_IRST_VMD_20H1] 폴더를 찾아 [확인]을 선택합니다.

7. [Intel RST VMD Controller 9A08 (TGL)]을 선택한 다음 [다음] 을 선택하여 드라이버를 설치합니다.

8. 드라이버 설치가 완료되면 드라이브가 정상적으로 나타납니다.

Steam 오류 "게임 시작 실패 (실행 파일 누락)"는 일반적으로 Steam을 통해 Microsoft Flight Simulator 2020을 시작하려고 할 때 가끔 발생할 수있는 오류입니다. 이 오류는 Microsoft Flight Simulator에만 해당되지 않으며 모든 게임에서도 발생할 수 있습니다. Steam 오류 실행 파일 누락 오류는 '실행 파일 누락', 설치 등 및 업데이트 중에 발생한 오류부터 시작되는 다양한 기타 메시지와 함께 제공됩니다. 화면에 나타나는 다양한 메시지에도 불구하고 오류는 비슷하며 일반적인 수정으로 오류를 해결할 수 있습니다.

 

Steam에 게임을 설치할 때마다 Steam은 해당 게임의 Steam 설치 폴더 내에 실행 파일을 생성합니다. 이 실행 파일에 문제 / 문제가있는 경우 오류가 표시됩니다. 누락 된 실행 오류는 시스템 권한 부족, 바이러스 백신, 게임 파일 손상 또는 Steam 캐시 손상으로 인한 여러 문제 때문일 수 있습니다.

이 Steam 오류가 발생하는 위에서 언급 한 문제를 해결하려면 일반적으로이 오류를 해결하는 것으로 알려진 세 가지 가능한 수정 사항을 따르세요.

 

수정 1 : Steam이 전체 권한 및 관리 권한으로 실행되는지 확인

Steam 클라이언트에 대한 권한이 충분하지 않으면 제대로 작동하지 않을 수 있습니다. 따라서 관리자 권한을 제공해야하며 오류가 수정 될 수 있습니다. 일시적으로 관리자 권한으로 Steam을 실행하거나 영구적으로 권한을 갖도록 Steam을 구성 할 수 있습니다. 중요하고 항상 관리자 권한으로 Steam을 실행해야하므로 영구 권한을 구성하는 단계를 제공 할 것입니다. 다음 단계를 따르십시오.

 

  1. 데스크탑으로 이동하십시오. Steam 바로 가기 파일을 찾습니다.
  2. Steam 바로 가기를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오. 
  3. 호환성  탭 / 옵션으로 이동합니다  .
  4. 확인  관리자 권한으로이 프로그램을 실행 ( 이 있는지 확인하십시오 것이다 항상 전체 권한을 가진 스팀 실행 )
  5. 완료되면 적용  및  확인을 클릭하십시오  .

이제 Steam 설치 폴더 전체 권한을 제공합니다. 아래 단계를 따르십시오.

  1. Steam 설치 폴더를 찾습니다 (일반적으로 C : \ Program Files (x86) \ Steam 경로에 설치됨  ).
  2. 마우스 오른쪽 단추로 클릭  상의  디렉토리 증기 및 선택  속성을
  3. 그런 다음 보안  탭으로 이동하여  편집을 클릭  하십시오.
  4. (가) 확인 허용  에 대한  모든 권한
  5. 적용  및  확인  클릭  하여 설정을 적용하십시오.

완료되면 게임을 다시 시작하고 Microsoft Flight Simulator 2020 오류 "게임을 시작하지 못했습니다 (실행 파일 누락)"가 이미 수정되었는지 확인합니다. 그렇지 않고 문제가 계속되면 아래의 다른 수정 사항을 따르십시오.

수정 2  Steam 라이브러리 복구 수행

Steam Error Failed to Start Game (Missing Executable)의 가장 가능성있는 근본 원인 중 하나는 손상된 게임 파일과 실행 파일입니다. 게임 파일이 손상 되었기 때문에 Steam에서 게임을 시작할 수 없어 오류가 발생합니다. 다행스럽게도 Steam에는 손상된 게임 파일을 확인 및 감지하고 새로운 복사본으로 교체 할 수있는 매우 유용한 기능이 있습니다. 이 Steam의 기능을 게임 무결성 확인이라고합니다. Steam 라이브러리가 범인 인 경우에도 Steam 라이브러리 복구를 시도합니다. Steam 라이브러리 디렉토리는 모든 Steam 게임이 데스크탑 / PC에 설치되고 다운로드되는 곳입니다. 두 작업에 필요한 단계는 다음과 같습니다.

먼저 Steam에서 게임 파일의 무결성을 확인하려면 :

  1. 계속해서 Steam 클라이언트를 시작하십시오.
  2. 에서  LIBRARY , 마우스 오른쪽 버튼으로 클릭 한  마이크로 소프트 플라이트 시뮬레이터 2020  게임을 선택  속성을
  3. 로컬 파일로 이동하여  게임 파일 무결성 확인을  클릭하십시오.
  4. 확인 프로세스가 완료 될 때까지 기다리십시오. 손상된 파일이 있으면 Steam이 자동으로 다운로드하여 교체합니다.

이제 Steam 라이브러리 디렉토리를 복구하겠습니다. 이 단계를 따르세요:

  1. Steam을 시작 합니다. Steam  >  설정  >  다운로드로 이동 하세요.
  2. Steam 라이브러리 폴더를 클릭하세요 
  3. 마우스 오른쪽 단추로 클릭 SteamLibrary 폴더를  하고 선택 복구 라이브러리 폴더 옵션을 선택합니다.
  4. Windows와 Steam의 권한을 요청 받으면 둘 다 허용합니다.

위의 단계를 수행 한 후 계속해서 Microsoft Flight Simulator 2020 오류 "게임을 시작하지 못했습니다 (실행 파일 누락)"오류가 계속 발생하는지 확인하십시오.

 

수정 3 : Windows 바이러스 및 위협 방지 또는 타사 바이러스 백신에 제외 추가

내장 된 Windows Defender 바이러스 백신 또는 타사 바이러스 백신과 같은 많은 바이러스 백신 소프트웨어는 종종 Steam을 시스템의 오 탐지 위협으로 감지합니다. 때때로 이러한 바이러스 백신 실수로 Steam 파일과 프로세스가 의심스럽고 악의적으로 처리되어 Steam이 제대로 작동하지 않습니다. 이러한 경우 종종 시스템에서 Steam 오류 "게임 시작 실패 (실행 파일 누락)"가 발생합니다. 시스템의 보안 소프트웨어를 완전히 비활성화하여이 문제를 해결할 수 있지만 시스템이 공격에 대해 방어되지 않게되면 시스템에 위험과 위협이 될 수 있습니다. 따라서 바이러스 백신 설정에서 Steam 파일과 폴더를 제외해야합니다. Steam을 제외하면 Steam이 종종이 문제를 일으키는 바이러스 백신 레이어를 우회 할 수 있습니다. 이렇게하려면 아래 단계를 따르십시오.

Windows 바이러스 및 위협 방지

  1. 시작 메뉴를 열고 설정 아이콘을 클릭하고 업데이트 및 보안을 선택합니다. 
  2. Windows 보안을 클릭하고  바이러스 및 위협 방지를 선택합니다. 
  3. 아래  바이러스 및 위협 보호 설정 , 클릭  설정 관리
  4. 찾아  제외를  아래로 스크롤하여 클릭  추가 또는 삭제 제외
  5. 제외 추가를  클릭  하고 폴더를 선택하십시오. 
  6. C : \ Program Files (x86) \ Steam  에서 Steam 설치 폴더를  찾아 제외를 설정하십시오.

계속해서 게임을 시작하고 Microsoft Flight Simulator 2020 오류 "게임 시작 실패 (실행 파일 누락)"가 이미 수정되었는지 확인합니다. 바라건대, 이러한 모든 수정 작업을 수행 한 후에는 문제를 해결할 수 있습니다.

간단한 방법을 사용하여 Windows 10 Home Edition 노트북, 데스크톱, 태블릿에서 그룹 정책 편집기 또는 gpedit.msc를 쉽게 활성화하는 방법을 알아 봅니다.

Windows에서 gpedit.msc 또는 그룹 정책 편집기 앱을 자동으로 설치하는 데 필요한 도구를 다운로드 할 수있는 위치 아래에 있습니다.

 

Gpedit-enabler.bat (Google 드라이브 링크) 다운로드

Gpedit-enabler.bat (Google 드라이브 링크) 다운로드

gpedit-enabler.bat를 사용하는 방법?

위 링크에서 배치 파일을 다운로드하고 관리자 권한으로 실행하기 만하면됩니다. 인터넷에 연결되어 있는지 확인하십시오.

gpedit enabler bat 파일을 사용하면 Windows 앱 패키지 명령을 실행하여 Windows 10 Home에 gpedit 또는 그룹 정책 편집기 앱을 설치합니다.

단계별 가이드

  • 압축파일을 추출한 다음 Add-Store.cmd가 나타날 때까지 폴더를 엽니다.
  • 시작 -> 설정 > 업데이트 및 보안 -> 개발자용 -> "개발자 기능 사용"에서 "개발자 모드"를 선택합니다. 프롬프트가 나타나면 예 버튼을 누르십시오
  • 압축을 푼 아카이브 / 폴더로 돌아갑니다. add-store.cmd를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행하십시오.
  • LTSC / LTSB 시스템에 Microsoft Store가 자동으로 설치 될 때까지 기다립니다.

 

 

WinX.zip
0.01MB

단계별 가이드

  1. 파일 탐색기를 열고 주소 표시 줄에 % appdata %를 입력 합니다.
  2. 뒤로 아이콘을 클릭하거나 appdata 로밍 폴더 외부로 이동하는 한 디렉터리 뒤로 이동합니다.
  3. "local"폴더를 열고 Microsoft 폴더를 찾습니다.
  4. "Windows"폴더가 보일 때까지 아래로 스크롤하여 위로 엽니 다.
  5. 위의 다운로드 버튼을 클릭하여 WinX 파일을 다운로드하십시오.
  6. WinX 파일 / 폴더를 열린 Windows 폴더 아래에있는 해당 WinX 폴더로 추출합니다.
  7. 모든 파일 (그룹 1, 그룹 2, 그룹 3)을 교체하여 손상된 바로 가기 파일 및 구성을 수정하십시오.
  8. 작업 관리자를 연 다음 Windows 탐색기를 다시 시작하거나 컴퓨터를 다시 시작하십시오.

노트북 제조사별 복원 복구 공장 초기화 방법 복원키 윈도우복구 리커버리 운영체제복구!

(삼성 SAMSUNG, 델 DELL, HP, 엘지 LG, 소니 바이오, TG 삼보, 도시바, 컴팩 COMPAQ, 아수스 ASUS, 레노버 LENOVO, MSI 등)


우선 노트북이 꺼진 상태에서 단축키를 누르셔야 복원 복구 공장초기화 가능합니다.


<노트북 제조사 별로 공장초기화 하는 방법!> 

 

 

삼성전자 노트북 -  (F4 번키) (전원 바로켜시고 나서 로고 뜨시면 바로 누르시면 됩니다!)

 

LG전자 노트북 - (F11번키) (전원 바로켜시고 나서 로고 뜨시면 바로 누르시면 됩니다!)

 

소니 바이오 (SONY VAIO) - (F10번키) (전원 바로켜시고 나서 바로 누르시면 됩니다!)

                                   (ASSIST 버튼) (전원이  꺼진 상태에서 누르시면 됩니다!)

 

HP 노트북 -  (F11번키) (전원 바로켜시고 나서 로고 뜨시면 바로 누르시면 됩니다!)

 

컴팩 (COMPAQ) 노트북 - (F11번키) (전원 바로켜시고 나서 로고 뜨시면 바로 누르시면 됩니다!)

 

DELL (델) 노트북 - (F8번키) (전원 바로켜시고 나서 로고 뜨시면 바로 누르시면 됩니다!)

                         (CTRL(컨트롤) + F11) (전원 바로켜시고 나서 바로 누르시면 됩니다!)

 

TG 삼보 노트북 - (F5번키) (전원 바로켜시고 나서 바로 누르시면 됩니다!)

 

ASUS (아수스) 노트북 - (F9번키) (전원 바로켜시고 나서 바로 누르시면 됩니다!)

 

후지쯔 (FUJITSU) 노트북 - (F12번키) (전원 바로켜시고 나서 로고 뜨시면 바로 누르시면 됩니다!)

 

ACER (에이서) 노트북 - (ALT(알트) + F10번키) (전원 바로켜시고 나서 바로 누르시면 됩니다!)


기가바이트 노트북 - (F9번키) (전원 바로켜시고 나서 로고 화면에서 바로 누르시면 됩니다!)

 

LENOVO (레노버) - (F11번키) (전원 바로켜시고 나서 바로 누르시면 됩니다!)

                         (원키 리커버리키) (전원 바로켜시고 나서 바로 누르시면 됩니다!)

 

도시바 노트북 - (0번키) (누른상태에서 전원 켜시면 됩니다!)

 

MSI 노트북 - (F3번키) (전원 바로켜시고 나서 로고 화면에서 바로 누르시면 됩니다!)

 

 

※ 노트북 복구키, 리커버리 버튼 - 특정 모델일 경우 위와 다를 수 있으니 참고 바랍니다! ※

1. 글자 크기, 자간, 장평, 줄 간격

Shift + Alt + W(자간 넓히기)/N(자간 좁히기)

- 자간은 글자 사이의 간격입니다. 글자 사이의 간격을 좁히고 넓힐 때 블록 지정 후 사용하면 됩니다.


Shift + Alt + J(장평 넓히기)/K(장평 좁히기)

- 장평은 글자 자체의 너비입니다. 장평을 좁히면 글자를 날렵하게 보이도록 만들 수 있어요.


Shift + Alt + A(줄 간격 넓히기)/Z(줄 간격 좁히기)

- 줄 사이의 간격을 넓히고 좁히는데 사용합니다. 줄 간격은 단락(문단) 단위로 설정되니 참고하세요!


Shift + Alt + E(글자 크기 키우기)/R(글자 크기 줄이기)

- 블록 지정 후에 선택 된 글자의 크기를 키우고 줄일 수 있습니다.


2. Ctrl + F / F2

찾기 / 찾아 바꾸기


Ctrl + F (찾기)

- 문서에 입력 된 글자 및 조건을 찾습니다. [서식 찾기] 버튼(망원경 모양)을 누르시면 스타일을 지정해 특수한 조건을 찾을 수도 있어요.


Ctrl + F2 (찾아 바꾸기)

- 문서에서 입력 된 글자 및 조건을 찾아 바꿉니다. 일괄적으로 문서의 내용을 변경할 때 사용하시면 좋아요


3. F7

편집 용지 대화상자 열기


현재 문서의 편집 용지 대화상자를 엽니다. 용지의 종류를 바꾸거나 문서의 상하좌우, 꼬리말, 머리말 여백을 조절할 수 있습니다.


4. CTRL + G + C

조판 부호 표시


문서 편집화면의 조판 부호를 켜고 끕니다. 조판 부호는 종이에는 인쇄 되지 않는 문서 내용입니다. 띄어쓰기와 줄바꿈은 어디에서 되었는지, 표 / 그림 / 캡션 / 머리말, 꼬리말 등 여러 문서 요소는 어떤 것이 있는지 쉽게 확인할 수 있습니다. 


5.Alt + T / L

문단 모양 / 글자 모양


Alt + T (문단 모양)

- 현재 키보드 커서가 위치한 문단의 문단 모양 대화상자를 엽니다. 문단 모양 대화상자에서는 키보드의 [Enter]로 줄바꿈 하기 전 연결되어 있는 문단 전체의 서식을 변경할 수 있습니다.


Alt + L (글자 모양)

- 현재 선택된 글자의 글자 모양 대화상자를 엽니다. 글자 모양 대화상자에서는 개별 글자의 서식을 변경할 수 있습니다.


6. Ctrl + N, N/E

각주/미주 삽입


Ctrl + N, N (각주 삽입)

-  현재 키보드 커서의 위치에 각주(현재 페이지의 마지막)를 삽입합니다.


Ctrl + N, E (미주 삽입)

-  현재 키보드 커서의 위치에 미주(현재 문서의 마지막)를 삽입합니다.


7. Ctrl + N, C

캡션 삽입


현재 마우스 왼쪽 버튼으로 선택된 표나 그림 등의 개체에 캡션을 삽입합니다.


8. Alt + C

서식 복사 / 붙여넣기


은근 몰라서 안쓰시는 분들이 많은 기능입니다. 컨트롤 C,V 처럼 글자나 문단, 표의 서식만 복사해서 붙여 넣을 수 있는 기능입니다. 표 모양이나 글자 모양을 일일이 마우스로 바꿀 필요 없이 단축키로 슥슥!


서식을 복사하려면 키보드 커서가 위치한 곳에서 Alt + C, 복사한 서식을 적용하려면 글자, 문단을 블록 설정한 뒤 Alt + C


9. Ctrl + N, T

표 만들기


키보드 커서가 위치한 곳에 표를 삽입합니다.


10. F6

스타일 대화상자 열기


내용이 많은 문서의 작성과 수정 시간을 확 줄일 수 있는 기능입니다.


수십, 수백 페이지의 문서를 제출했는데 소제목 폰트가 상사의 마음에 안들어 일일이 수정하시느라 고생하셨던 분들 주목! 이제는 스타일을 지정해 한 번에 서식을 바꾸어 보세요. 


문서 작성 시간을 바로 줄여 주는 한글 단축키 모음


▶ 자간 : Shift + Alt + W(자간 넓히기)/N(자간 좁히기)

▶ 장평 : Shift + Alt + J(장평 넓히기)/K(장평 좁히기)

▶ 줄 간격 : Shift + Alt + A(줄 간격 넓히기)/Z(줄 간격 좁히기)

▶ 글자 크기 : Shift + Alt + E(글자 크기 키우기)/R(글자 크기 줄이기)

▶ Ctrl + F (찾기) : 문서에서 입력 된 글자 및 조건 찾기

▶ Ctrl + F2 (찾아 바꾸기) : 문서에서 입력 된 글자 및 조건 찾아 바꾸기

▶ F7 : 편집 용지 대화상자 열기

▶ Ctrl + G + C : 현재 화면의 조판 부호 보기를 켜고 끄기

▶ Alt + T : 현재 키보드 커서가 위치한 문단 모양 대화상자 열기

▶ Alt + L : 현재 선택된 글자 모양 대화상자 열기

▶ Ctrl + N, N : 각주(현재 페이지의 아래쪽) 삽입

▶ Ctrl + N, E : 미주(현재 문서의 마지막) 삽입

▶ Ctrl +N, I : 현재 선택된 개체에 캡션을 삽입

▶ Alt + C : 복사할 모양을 골라 복사

▶ Alt + C : 직전에 복사한 모양을 적용

▶ Ctrl + N, T : 현재 키보드 커서가 위치한 곳에 표를 삽입

▶ Ctrl + Enter : 현재 키보드 커서 위치에서 강제로 쪽 나눔



batch 파일 정복

Tip 2018. 9. 11. 17:05

batch 파일 정복


 


1.  "@echo off"를 일반적으로 사용하기

====================================

화면에 명령어들이 표시되지 않게 echo off 하고, 그 라인도  화면에 표시 되지 않게 하기 위해서 다음과 같이 하면 된다.

 @echo off

이 것은 MsDos 3.30 이후 버전에서만 작동한다.  이것을  일반적으로 사용하게 하기 위해서 3.30이상의 MsDos를 사용한다면  autoexec.bat 안에 다음과 같이 적어 놓는다.

 set _echo=@

그리고 배치파일에서 다음과 같이 사용한다면 어느 버전의 MsDos버전에서도 작동한다.

 %_echo%echo off



2.  모든 파일을 지우기

=====================

가장 흔하게 질문되는 것(FAQ)중의 하나는 del *.*  을  사용껦 때,"Are you sure (Y/N)?" 라는 확인을 어떻게 하면 나타나지 않게 하는것이다. 다음과 같이 사용한다.

 echo y| del *.*

화면에 나타나는 메세지도 보이지 않게 하려면 다음과 같이 한다.

 echo y| del *.* > nul

이러한 확인 절차를 표시하지 않게 하는 것은 토론의 여지가 많지만,위와 같이 사용할 수 있다. 

(주: 사실 del /Q *.* 와 같이 /Q(Quiet) 옵션으로도 가능하지만 이쪽은 필터를 사용하여 입력을 자동화 하는것에 촛점을 맞춘듯 싶다. 3.30 버전에선 안될 수도 있었겠죠)



3.  다중 반복

============

배치파일에서 다중 루프(반복)를 사용하는 것이 가능하다. 다음의 두배치파일을 생각해 보자. 그리고 test.bat을 불러 실행시켜 보자.

  echo off

  rem TEST.BAT

  for %%f in (a b c d e f) do %comspec% /c test2 %%f 

  echo off

  rem TEST2.BAT

  for %%g in (1 2 3) do echo %1%%g

아니면 한줄로 다음과 같이 써서 사용할 수도 있다.

  for %%f in(a b c d e f) do %comspec% /c for %%g in (1 2 3)  do echo %%f%%g

 이 두번째 방법의 단점은 echo가  화면에 표시된다는 것이다.



4.  디렉토리가 존재하는지 확인하는 방법

======================================

디렉토리가 있는지 확인하는 것은 가끔 매우 쓸모있는 일이다.  %1의 디렉토리가 없다면 다음 확인은 참이 될것이다.

 if not exist %1nul if not exiat %1nul echo Directory  %1  does not exist



5.  프로그램을 현디렉토리나 경로에서 사용할 수 있는지 확인하기

=============================================================

배치 프로그램에서 프로그램을 불러서 사용할때, 그 파일에 대한  경로를 써주지 않았을 경우, 그 프로그램이 현재의 디렉토리나  경로에서 사용가능한지 확인할 때 도움이 될 것이다.

  set _found=

  if exist %1 set _found=yes

  for %%d in (%path%) do if exist %%d%1 set _found=yes

  for %%d in (%path%) do if exist %%d%1 set _found=yes

  if "%_found%"=="yes" goto _continue

  echo %1 is not at path or the current directory

  goto _out

  :_continue

  echo %1 found at path or in the current directory

  :_out



6.  배치파일에서 서브루틴이나 재귀적방법을 사용하기

==================================================

배치파일 안에서 서브루틴을 사용하는 것은 가능하다. 방법은 서브루틴이 실행된  뒤에  돌아가야할  곳을  가르키는  환경변수(예를들면_return)를 설정하는 것이다. 이런 예는 UNPACK.BAT 이나 BOOT.BAT의:_common 과 :_subru 부분에서 찾아 볼 수 있다.

마찬가지로 재귀적인 사용이 가능하다. ("재귀적인  방법"의  의미는 한  배치파일이  자기  자신을  불러  사용하는  것이다.)  이  예는 SAFEDEL.BAT에서 아래의 행을 따라 찾아 보면 된다.

 for %%f in (%1) do call safedel %%f recurse

배치파일의 0번째 인수(%0)는 배치파일 자신을 나타내므로,  safedel은 %0으로 대치 되어 사용할 수도 있다.



7.  매개 인수(parameter)를 대문자로 바꾸기.

=========================================

다음은 배치파일에 사용한 인수 %1 를 대문자로 바꾸어 주는  예제이다. 이는 MsDos는 path를 대문자로 바꾼다는 점을 이용한 것이다. 결과는 upcase_에 저장될 것이고, 원래의 경로가 다시 저장될 것이다.

  set tmp_=%path%

  path=%1

  set upcase_=%path%

  path=%tmp_%



8.  새로운 디렉토리를 경로에 붙이기

==================================

자주 필요한 이 기술은 매우 간단하다. 예를 들어 %1를 경로에  덧붙이려면

 path=%path%;%1

이라고 하면된다.

이 기술은 배치파일 안에서만 사용할 수 있다. 배치파일 안에서만 환경변수(%path%)를 사용할 수 있기 때문이다. 존재하지 않는 디렉토리를 덧붙이려한다거나 중복해서 경로를 덧붙이는 것을 방지하는 ADDPATH.BAT이라는 배치파일이 있다.



9.  두 파일을 비교하기

=====================

배치파일에서 두 파일이 같은지 아닌지 확인해 볼 수 있다. 이  기술은 MsDos의 외부 명령어인 fc.exe와 find.exe를 사용한다. (외부  명령어라는 뜻은 MsDos와 같이 있는 프로그램들이다. 대부분의 외부 명

령어용 프로그램들은 c:dos 에 위치한다.)

  fc %1 %2 > tmp$$$

  type tmp$$$ | find  /i  "fc:  no  differences  encountered"  >diffe$$$

  if exist notsame$ del notsame$$$

  copy diffe$$$ notsame$ > nul

  if not exist notsame$ echo Files %1 and %2 are different

  if exist notsame$ echo Files %1 and %2 are identical

  if exist tmp$$$ del tmp$$$

  if exist notsame$ del notsame$

  if exist diffe$$$ del diffe$$$

좀더 생각하면 이 기술은 다른 목적에도 사용할 수 있다. 이는  파일안에 주어진 문자열이 있는지 확인 하는데 바탕을 두고 있기  때문이다.



10.  빈줄을 쓰기

===============

이는 간단하지만 종종 필요하고 유용한 기술이다. echo 바로  다음에점(.)을 찍으면 빈줄을 표시할 수 있다.

  echo.



11.  pause를 이용해 메세지를 표시하기

====================================

메세지를 손쉽게 나타나게 할 수 있다. 메세지를 echo한 다음  pause 를 사용하는데, pause의 메세지를 nul로 보내면 된다.

 echo Break to quit, any other key to remove the tmp directory

 pause > nul



12. for를 이용한 다양한 rename 기술 

===================================

이 기술이 기본적이고 사소하지만, 이를 생각해 내기란 쉽지 않을 것이다. for 문은 파일의 이름을 바꾸는데 특별히 유용하다.  예를  들면, 내가 다음의 파일들을 가지고 있을 때, (터보  파스칼  TP  4.0,

5.0, 5.5, 6.0) 내가 버전 29를 30으로 바꾸기 원한다고 할때,

  tspa2940.zip

  tspa2950.zip

  tspa2955.zip

  tspa2960.zip

다음은 손쉽게 그런 일을 해준다.

 for %f in (40 50 55 60) do re tspa29%f.zip tspa30%f.zip

물론 파일이름 바꾸는 일 말고도 이 기술로 다양한 일을 할 수 있다.

하나의 예는 다음과 같다.

  for %d in (a b) do format %d:



13.  와일드카드를 확인하기

=========================

이 예제는 인수 %1이 와일드 카드를 사용하고 있는지 아닌지  확인한다.

  @echo off

  for %%f in (%1) do if "%%f"=="%1" goto _nowilds

  echo Parameter %1 contains wildcards (or is missing)

  :_nowilds



14.  배치 작업을 중간에 그만두지 못하게 하기

===========================================

ctty 명령어를 사용해서 입력장치나 출력장치를 새로 설정하여  배치파일을 중단시키는 것을 방지할 수 있다. 여기의 예제는  패스워드로 e를 넣어야 하는 간단한 배치파일이다. 

ctty가  nul로  돌려진  동안<,>의 리디렉션이 필요한 것을 눈여겨 보라. ask라는 배치파일을  돕

기 위한 프로그램은 같이 포함되어 있다. ( MsDos의 choice와 비슷하다. 단, 에러 레벨을 입력한 문자의 아스키 값으로 돌리는 것만 틀리다.)

  @echo off

  ctty nul

  echo Now you cannot break the batch with ^C or ^Break > con

  :_ask

  echo Use e to break > con

  ask /b /d < con

  if errorlevel==101 if not errorlevel==102 goto _out

  goto _ask

  :_out

  ctty con

  echo Back to normal. Now you can break the batch  with  ^C  or

^Break.

이 배치파일이 작동되고 있는 동안에는 alt-crtl-del로  다시 부팅할수도 없다. 이 같은 일을 하는 noboot.exe라는 램상주 프로그램도 있다.



15.  autoexec.bat를 중지하고 건너뛰는 것을 방지하기

==================================================

브레이크를 눌러 autoexec.bat를 건너 뛰어 지나치지 않게 하기 위해서 다음과 같이 config.sys에 쓰면 된다.

  shell=c:command.com /p nul

이렇게 하기 전에 만일의 경우를 대비해서 플로피 디스켓으로 부팅할준비를  해둔다. autoexec.bat 맨 뒷줄에 'ctty con'이라고 덧  붙여야 된다. 그렇게 하지 않으면 키보드가 말을 듣지 않을 것이고, 준비한 플로피 디스켓으로 부팅해야 할 것이다 :-).



16.  확장자를 인식하기

=====================

단지 확장자를 확인하려던가, 주어진 파일의 이름에서 확장자를 환경변수로 저장하려고 할때, 이 것은 매우 유용하다. 어떻게 하는지  여기에 있다. 이 배치파일은 PC-Magazine July 1992, Vol 11, No.  13,

page 528에 나온  정보를 이용한 것이다. for 루프에서  슬레시(/)로 시작하는 인수는 두 부분으로 나누어지는데, 처음 부분은 인수의  첫문자이고 다른 부분은 나머지 문자열이다.

이 해결방법에서 하나의 문제점은 .* 이라던가 .???  이란  확장자를 인식하지 못하는 것이다. 그러나 "와일드카드를 확인하기"를  이용해서 확인하면 될 것이다. 이러한 기술을 이용한 것중에  UNPACK.BAT라

는 배치파일이 있다.

     @echo off

     set exten_=%1

     :_next

     set prev_=%exten_%

     for %%f in (/%exten_%) do set exten_=%%f

     if ".%exten_%"=="%prev_%" goto _extfound

     if not "%exten_%"=="%prev_%" goto _next

     goto _noext

     :_extfound

     echo The filename %1 has an extension %exten_%

     goto _out

     :_noext

     echo The filename %1 has no extension

     :_out

     set exten_=

     set prev_=



17.  % 문자 인용부호

=================== 

%1은 배치파일에 주어진 첫번째 인수를 가르킨다. 이처럼 'echo  %1'이라고 하면 첫번째 인수를 표시해 준다. 대신에 %1라는 문자를 표시하고 싶은 경우 어떻게 해야하는가?  % 문자는 인용부호처럼  행동한다. 그래서 %%1이라고 쓴 경우 실제로는 "%1"이라고  화면에  표시된다. 아래의 간단한 연습을 실행해보라.

  @echo off

  if "%1"=="" goto _out

  echo %1

  echo %%1

  :_out

이 기능을 이용한 것은 "배치의 보조 배치파일을 없애기"를  보아라.

좋은 예로는 DELPATH.BAT가 있다.



18.  배치의 보조 배치파일을 없애기

=================================

많은 배치 프로그램이 call을 사용해서 보조 배치파일을  불러다  쓴다. 많은 경우 이런 일을 재귀적인 사용을 통해 자기 자신을  불러다씀으로써  보조 파일을 사용하는 것을 줄일 수 있다. 보조코드는  배치파일 자기자신에 넣어 놓는다. 이러한 기술은 와일드 카드를  받아들이는 TYPE 같은 SHOW.BAT 에서 가장 잘 나타나 있다. 일반적으로는 개개의 파일을 type하기 위해서  보조파일이  필요하다.  다른  예는

SAFEDEL.BAT에서 찾아볼수있다.

이와 같은 일을 하기 위한 다른 기술이 있다. 원래의 배치파일이  보조 배치파일을 만든 다음 그것을 불러 사용하는 것이다. 이런 것으로는 DELPATH.BAT의 예를 들 수 있다. 여기에는  사용되는  드라이브를

보여주는 간단한 예가 있다. (c 부터 t 까지 가능하다. 여기선 더 쓰면 줄이 넘어가니까!)

 @echo off

 echo @echo off> tmp$$$.bat

 echo if exist %%1:nul echo Drive %%1: is present>> tmp$$$.bat

 for %%d in (c d e f g h i j k l m n o p q r s t) do call tmp$$$

%%d

 del tmp$$$.bat

디스크의 볼륨  레이블을  찾아내는  창의적인  기교가  PC-Magazine August 1992, Vol. 11, No. 14, p. 527에 실렸다. 여기는 같은  기술을 사용하는  예가 있다. 환경변수 getdir_에 현재의 디렉토리를  저장한다. 이 기술은 PUSHDIRE.BAT에 사용되고 있다.

  @echo off

  echo @echo off> director.bat

  echo set getdir_=%%2>> director.bat

  echo echo %%getdir_%%>> director.bat

  dir | find "Directory"> go.bat

  call go

  if exist director.bat del director.bat

  if exist go.bat del go.bat



19.  subst 명령어를 경로에 사용하기

==================================

어떤 디렉토리를 읽기 쉽게 하기 위해서 간단한  배치파일을  사용한다. 만약 subst 가 이미 설정되어서 생길 수 있는 에러를  방지한다. 그리고 마지막으로 현재 대치된 디렉토리의 현황을 보여준다.

  @echo off

  if exist m:nul echo The substitution has already been made

  if not exist m:nul subst m: c:math

  if not exist s:nul subst s: c:support

  subst



20.  일주일에 한번 실행하기. (요일을 확인하기)

=============================================

요일을  환경변수에  넣는  것은  어려운  기술이다.  완전한   예는 WEEKLY.BAT에서 찾아볼수 있다. 이 기술의 핵심은 아래에 나와  있는데, 요일을 weekday_라는 환경변수에 저장하는 것이다. 일반 도스 프로그램 외에 아무런 보조 프로그램이 필요없다.

  @echo off

  echo.| date | find "Current" > tmp$$$.bat

  echo set weekday_=%%3> current.bat

  call tmp$$$

  echo %weekday_%

  if "%weekday_%"=="Fri" echo Thank God it's Friday

  if exist tmp$$$.bat del tmp$$$.bat

  if exist current.bat del current.bat

  set weekday_=

사실, 위에서 %%3 대신에 %%4를 사용하면 오늘의 날짜를  확인할  수 있다.



21.  파일이름에 경로가 포함되었는지 확인하기

===========================================

우선 먼저 "확장자를 인식하기"를 보면 같은 아이디어인 것을 알  수 있다. 파일이름이 단순히 go.exe 로 이루어 졌는지,  아니면  경로를 포함해서 r:progsgo.exe와  같이  이루어  졌는지  확인하는  것은 r:progs*.exe와 같이 확장자를 사용했다면 매우 복잡한 일이다. 여기서 어떻게 되는지 설명하였다. 이를 완전히 이해했다면 확실히  배치 파일들에 대해서 이해하기 시작했다고 말할 수 있을 것이다.

  @echo off

  echo @echo off> tmp$$$.bat

  echo set rest_=%%1>> tmp$$$.bat

  echo :_next>> tmp$$$.bat

  echo set prev_=%%rest_%%>> tmp$$$.bat

  echo for %%%%g in (/%%rest_%%) do set rest_=%%%%g>> tmp$$$.bat

  echo if ":%%rest_%%"=="%%prev_%%" goto _found>> tmp$$$.bat

  echo if "%%rest_%%"=="%%prev_%%" goto _found>> tmp$$$.bat

  echo if not "%%rest_%%"=="%%prev_%%" goto _next>> tmp$$$.bat

  echo goto _nopath>> tmp$$$.bat

  echo :_found>> tmp$$              at

  echo set haspath_=yes>> tmp$$$.bat

  echo goto _out>> tmp$$$.bat

  echo :_nopath>> tmp$$$.bat

  echo set haspath_=no>> tmp$$$.bat

  echo :_out>> tmp$$$.bat

  echo set rest_=>> tmp$$$.bat

  echo set prev_=>> tmp$$$.bat

  for %%f in (%1) do call tmp$$$ %%f

  if "%haspath_%"=="yes" echo Filename %1 includes a path

  if "%haspath_%"=="no" echo Filename %1 does not include a path

  rem if exist tmp$$$.bat del tmp$$$.bat

  set haspath_=



22.  엔터키를 누르지 않고 시간을 보기

====================================

현재의 시간을 보는 간단한 기술은 다음과 같다.

  echo.| time | find /v "new"

시간을 환경변수로 저장하는 방법은 LASTBOOT.BAT을 보아라.



23. 에러레벨 값을 확인하는 다른 방법

====================================

많은 프로그램과 몇개의 도스명령어들( diskcomp, format,  xcopy)은끝날 때 에러 레벨을 발생시킨다. 에러레벨의 누적적인 성질  때문에 에러 레벨을 확인하는 것은 다소 복잡해진다. 그래서 만약  에러레벨이 정확히 2인지 확인하기 위해서는 다음과 같이 한다.

 if errorlevel==2 if not errorlevel==3 echo Errorlevel 2

for 명령어를 사용하는 다른 방법으로 다음을 들수 있다.

 for %%e in (0 1 2  3  4  5  6  7)  do  if  errorlevel==%%e  set

_errlev=%%e

 if "%_errlev%"=="2" echo Errorlevel 2

좀 더 일반적으로 다음과 같이 할 수 있다.

 for %%e in (0 1 2  3  4  5  6  7)  do  if  errorlevel==%%e  set

_errlev=%%e

 if "%_errlev%"=="2" echo Errorlevel %_errlev%

복잡한 배치파일에서 편리한 방법은 goto를 사용하는 것이다.

  for %%e in (0 1 2) do if errorlevel==%%e goto _label%%e

  goto _out

  :_label0

  echo Errorlevel 0

  :_label1

  echo Errorlevel 1

  :_label2

  echo Errorlevel 2

  :_out

이 기술을 실제로 사용하는 예는 BOOT.BAT에서 찾아볼수 있다.



24.  배치파일의 출력을 리디렉션(redirection)하기

===============================================

배치파일 안에서의 출력은 손 쉽게 재 방향전환(redirecion)할 수 있다. 다음과 같은 example.bat 이라는 배치파일을 생각해보자.

  @echo This is a redirection test> test

"example"를 실행시키면 아래의 문장을 담은 "test"라는 파일을 생성 할 것이다.

  This is a redirection test

이 줄은 eoln(end of line: ascii 13 + 10)을 줄 끝에  포함하고  있다. 리디렉션 기호 '>' 앞에 아무런 공백도 주지 않는  것이  현명할때가 있다.

배치파일이 만드는 출력을 다시 재 방향전환(redirection)하는  것은 다소 복잡하다. 다음과 같은 내용을 지닌 example2.bat을 생각해  보자.

  @echo This is another redirection test

실행하면,

  example2 > test

출력은 화면에 나오고, 빈 test라는 파일이 생성될  것이다.  출력을 재 방향 전환 시키기 위해서는 다음과 같이 command.com 명령어 해석기를 통해서 배치파일을 실행해야 한다.( command.com은  현디렉토리나 경로에 있어야 한다.)

  command /c example2 > test

이와 같이 하면 내용이 "test"라는 파일에 담길 것이다.



25.  환경저장 공간이 충분한지 확인하기

=====================================

만약 배치파일이 환경저장 변수를 사용하면, 환경저장 공간이 부족할경우가 있다. 만약 "Out of environment space"라는 메세지를 받는다

면 잘 알려진 방법을 통해서 다음과 같이 config.sys 의 shell을  설정해서 환경저장 공간을 늘릴 수 있다.

  shell=c:bincommand.com c:bin /e:1024 /p

이 보다 덜 알려진 기술로는 환경저장 공간이 모자라기 전에 미리 확인해 볼수 있다. 아래의 예는 32바이트의 환경이 남아 있는지 확인한다.

 @echo off

 set test_=12345678901234567890123456789012

 if "%test_%"=="12345678901234567890123456789012" goto _yes

 echo Insufficient environment space

 goto _out

 :_yes

 echo Sufficient environment space

 set test_=

 rem Whatever you wish to do

 :_out



26.  드라이브를 사용 못하게 하는 간단한 방법

===========================================

임시로 드라이브를 사용하지 못하게 하려면, subst명령어를 사용하면 된다. 예는 아래와 같다.

  @echo off

  md c:none

  subst d: c:none

다시 사용하게 하려면,

  @echo off

  subst d: /d

  rd c:none



27. 프린터에 escape 명령어를 보내기

===================================

여기 정말  사소한  기술이  있다.  명령행에서  곧바로  프린터에게 escape sequence를 보낼 수 없다. 그러나 다음과 같은 배치파일을 이용하면 간단하다.

  @echo ESC%1> prn

ESC는 진짜 escape문자로 에디터로 쓰여져야 된다. 이 방법의 한가지 결점은 라인피드를 보내는 것이다.



28.  무작위 문자열을 만든는 방법

===============================

UseNet news에서 무작위 문자열을 만드는 방법을 물어보는 사람이 있었다.  대답은 다음과 같다. 이를 확장해서 공부해보기 바란다.

  @echo off

  echo 10 randomize(val(mid$(time$,7,2))) > tmp.bas

  echo 20 open "tmp2.bat" for output as #1 >> tmp.bas

  echo 30 x$ = mid$(str$(int(rnd*10000)),2) >> tmp.bas

  echo 40 print #1,"@set ramdom_=";x$ >> tmp.bas

  echo 50 close #2 >> tmp.bas

  echo 60 system >> tmp.bas

  gwbasic tmp.bas

  call tmp2

  del tmp.bas

  del tmp2.bat

  set



29.  문자열의 길이를 알아내기

============================

문자열의 길이를 찾아내는 일은 PC Magazine January 26, 1993 issue 에 실렸다. 여기서 제안하는 방법은 PC 메거진의 방법과  근본적으로 같지만, 더 일반적이다.

  @echo off

  set test_=Testing the lenght of a string

  echo %test_% > len$&$&$

  dir len$&$&$ | find "LEN$&$&$" > go$$$.bat

  echo @echo off> len$&$&$.bat

  echo set length_=%%                 len$&$&$.bat

  call go$$$

  echo The lenght is %length_% bytes

  del len$&$&$

  del len$&$&$.bat

  del go$$$.bat



30.  MsDos의 버전을 환경변수로 저장하기

======================================

ADJCURS.BAT을 보면 알겠지만, 배치파일로만 버전을 알아낼  수있다.

여기에 다른 방법이 있다.

  @echo off

  ver > go$$$.bat

  echo @echo off> ms-dos.bat

  echo set version_=%%2>> ms-dos.bat

  call go$$$

  echo Your MsDos version is %version_%

  del go$$$.bat

  del ms-dos.bat