[Windows] BAT 파일에서 대기(Sleep)

배치 파일(.bat)로 테스트 스크립트를 작성하다보면 sleep 해야 할 경우가 생기는데 이 경우 다음과 같이 하면 된다.

ping -n 초 127.0.0.1 >nul

또는

timeout /t 초 /nobreak > NUL

timeout 은 Windows 7 에서부터 되는 거 같은데(XP에선 없었던 거 같은데..) 유용하다. /nobreak 옵션을 주면 배치 파일에서 Ctrl + C를 눌러도 멈출 수가 없으니 웬만하면 빼자-_-;;

참고 : 
http://stackoverflow.com/questions/4317020/windows-batch-sleep

USB Windows XP 설치

http://www.parkoz.com/zboard/view.php?id=my_tips&page=1&sn1=&divpage=3&sn=off&ss=on&sc=off&keyword=xp&select_arrange=headnum&desc=asc&no=13051
안됨 – /BOOT/BCD 어쩌고

http://blog.naver.com/lvis?Redirect=Log&logNo=10036988219&vid=0
안됨 – Disk error 어쩌고 저쩌고

http://www.usboffice.kr
 – http://www.usboffice.kr/zbxe/275520
  – http://blog.daum.net/idrlee/16100073
 – http://usboffice.kr/zbxe/use_boot/481399/page/3

http://www.msfn.org/board/install-usb-winsetupfromusb-gui-t120444.html

http://nofate.tistory.com/455

NETBOOT로 선회
 http://www.cyworld.com/hyunweb/2811496
성공 – 결국 관건은 C: 에 부팅할 수 있도록 Windows 98 부팅 디스크를 심고, D: 에 I386 폴더를 복사해서 I386 아래의 WINNT 를 실행하는 것이었다. 실행 후 파티션 작업 역시 다시 할 수 있는 듯 하다.

USB 부트
http://blog.naver.com/baljern/140097762413
성공 – diskpart 에서 “create partition primary size=200000 (200기가)”
cmd 에서 “format c: /fs:ntfs /q/u” 로 NTFS 포멧
cmd 에서 x:\i386> “winnt32.exe /syspart:c /tempdrive:c”

MBR 이상인 경우 MBR write 툴도 함께 있음.

Windows XP 디스크 정리 해제

램디스크 쓰는데 자꾸 디스크 정리 하란다.. 디스크 정리 옵션을 아예 꺼버리자.

1. regedit
2. HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion / policies / Explorer
3. 우클릭 / 새로 만들기 / DWORD 값
4. “NoLowDiskSpaceChecks” 입력
5. 만들어진 항목에 더블클릭 후 “값 데이터”에 “1”

참고 : “디스크 공간 부족 메세지”를 끄는 방법 (win XP)

Windows Shell Extension 개발 참고자료

MSDN : Creating Shell Extension Handlers

The Complete Idiot’s Guide to Writing Shell Extensions
 Part 1
 Part 2
 Part 3
 Part 4
 Part 5
 Part 6
 Part 7
 Part 8
 Part 9

Shell Extension Context Menu Sample
Registry에 등록하는 건 Post-Build Step 에서 Regsvr32를 이용해서 등록한다. 커맨드는 다음과 같다.

regsvr32.exe /s /c $(OUTDIR)\CtxMenu.dll

Registry에 등록을 해제하는 건 다음과 같은 커맨드로 가능하다.

regsvr32.exe /s /u $(OUTDIR)\CtxMenu.dll

Registry 등록 관련 절차는 ShellExtReg.cpp 내의 RegisterFileMenu() 와 UnregisterFileMenu() 내부를 참고하면 좋다.

원격 데스크톱 연결 – XP3 에서 윈도우즈 키 안먹힐 때..

윈도우즈 XP SP3로 오면서 Remote Desktop Connection tool(RDP Client)인 mstsc가 Ver. 6.0.6001로 업그레이드되면서 몇 가지 변경이 있다.

1. /console 옵션 대신 /admin 옵션을 사용한다는 것
2. 원격 접속된 컴퓨터에서의 Windows-key나 Alt-key 조합이 먹지 않는 것

1 번은 그렇다쳐도 2 번은 정말 불편하다-_-

업그레이드된 버전으로 어떻게 안되나 많이 시도해보았지만 결론은 안되는 듯 하다.
이를 위해 기존 5.2 클라이언트를 사용하기로 결정하고 검색해보았더니 프리웨어로 TSplus Portable RDP 5.2 client가 있다. 이를 이용해서 사용하면 된다.

DOS/Windows 프롬프트 환경에서의 Start 명령

DOS/Windows 환경의 배치파일(.bat)에서 여러 명령을 한꺼번에 수행하고 싶을 때 start란 명령을 사용한다고 한다.
도움말에서 나오는 소개는 “지정된 프로그램이나 명령을 별도의 창에서 시작합니다.” 라고 되어 있다.

start 명령에 대한 도움말은 /? 옵션을 통해 볼 수 있다.

실행하는 형식은 다음과 같다

START [“제목”] [/D경로] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [명령어/프로그램]
      [매개 변수]


많이 쓰이는 것으로 보이는 몇가지 옵션을 정리하자면

/D 시작 디렉토리 지정
/B 새 창을 만들지 않고 응용 프로그램 시작

예제

start /D”D:\Source” cmd

배치 파일에서 사용하면 여러 동작을 순차적이 아닌 한번에 시작할 수 있다.

참고 : 윈도우에서 여러 프로그램을 한 번에 실행시키는 팁 – 운명과시간의신

윈도우 공유폴더 다른계정으로 로그인하기

 [출처] 윈도우 공유폴더 다른계정으로 로그인하기|작성자 미네르바

 윈도우 공유폴더를 “암호 저장”으로 접근할 경우 다른 사용자로 로그인하기 꽤 까다로운 것 같다. 간단한 방법을 예전에 알았던 듯 한데 기억이 나질 않는다.
 암호 저장 외에 공유 폴더를 다른 도메인으로 접근하고 싶을 때도 이 방법은 유용하게 쓰일 수 있다. 방법을 살펴보자.

 1. 기존 연결 보기 및 상태 저장

net use

 2. 기존 연결 끊기

net use <공유경로(e.g.\\192.168.0.1\IPC$)> /delete

 3. 새로운 연결 만들기

net use <공유경로(e.g.\\192.168.0.1\IPC$)> * /user:<도메인을 포함한 사용자이름(e.g.DOMAIN\USER)>