반응형

출처: blog.daum.net/inpl/553

 

cmd에서 드라이브명 검색 / CD,USB,디스크 드라이브 검색

컴퓨터에서 사용하는 드라이브를 추출하기, 드라이브 타입별로도 추출 가능, wmic 명령을 응용해서...  아래의 예를 보면 좀더 이해가 쉬울 듯.. @echo off ::  로컬 고정 디스크 3 ::  CD-ROM 5 ::  이동

blog.daum.net

USB 3개를 꽂아놓고 테스트해봤다. (F, G, H 드라이브)

USB드라이브를 꽂았을 때 어떤 드라이브로 잡히는지 모를 때 이 Batch파일을 이용하면 유용하다.

@echo off

wmic logicaldisk get caption, description, drivetype

for /F "usebackq tokens=1,2,3,4 " %%i in (`wmic logicaldisk get caption^,description^,drivetype 2^>NUL`) do (
	if %%l equ 2 (
		echo %%i is a USB drive.
	)
)

pause

결과 디스크 F,G,H가 USB로 잘 출력되었다.

 

(참고)

참고로 저 숫자를 바꾸면 다른 드라이브를 찾을 수 있다.

3: 내장된 드라이브

5: CD-ROM

반응형
반응형

기본 테스트

 

@echo on/off            echo값만 보이기, 전부보이기 설정

주석                        rem [문장]

변수명 만들기 명령어  set [변수명]

출력명령어               echo [값]

실행일시정지            pause

 

결과

 

 

===== 연산문 =====

반응형

배치 파일 연산자쉘 스크립트 동의어 뜻 (출처: blog.naver.com/dude93/25379331)

% $ 명령어줄 매개변수 접두사
/ - 명령어 옵션 플래그
\ / 디렉토리 패스 구분자
== = (같음) 문자열 비교 테스트
!==! != (다름) 문자열 비교 테스트
| | 파이프
@ set +v 현재 명령어를 에코하지 말 것
* * 파일명 "와일드 카드"
> > 파일 재지향(덮어 쓰기)
>> >> 파일 재지향(덧붙여 쓰기)
< < 표준입력 재지향
%VAR% $VAR 환경 변수
REM # 주석
NOT ! 뒤에 나오는 테스트 부정
NUL /dev/null 명령어 출력을 없애기 위한 "블랙홀"
ECHO echo 에코 (Bash 에는 옵션이 많이 있음)
ECHO. echo 빈 줄 에코
ECHO OFF set +v 다음에 나오는 명령어를 에코하지 말 것
FOR %%VAR IN (LIST) DO for var in [list]; do "for" 루프
:LABEL 없음 (필요치 않음) 라벨
GOTO 없음 (대신 함수를 씀) 스크립트의 다른 곳으로 건너 뜀
PAUSE sleep 일정 간격을 두고 잠시 대기
CHOICE case 나 select 메뉴 선택
IF if if-test
IF EXIST FILENAME if [ -e filename ] 파일이 존재하는지 확인
IF !%N==! if [ -z "$N" ] 변경가능한 매개변수인 "N"이 없다면
CALL source 나 . (도트 연산자) 다른 스크립트를 "포함"
COMMAND /C source 나 . (도트 연산자) 다른 스크립트를 "포함"(CALL과 동일)
SET export 환경 변수를 세트
SHIFT shift 명령어줄 변수 목록을 왼쪽으로 이동(shift)
SGN -lt or -gt (정수) 부호(sign)
ERRORLEVEL $? 종료 상태
CON stdin "콘솔"(표준입력)
PRN /dev/lp0 (일반적인) 프린터 디바이스
LP1 /dev/lp0 첫번째 프린터 디바이스
COM1 /dev/ttyS0 첫번째 시리얼 포트

 

if문 연산 테스트 ( == 같음 테스트)

띄어쓰기에 주의 (아니면 에러)

 

if문 연산 테스트 ( !==! 다름 테스트)

 

반응형
반응형

윈도우 디스크 포맷방법은 모두다 알다 시피 아래와 같다.

 

마우스우클릭 - 포맷

하지만 디스크 포맷을 자주할때 매번 마우스로 클릭하면서 진행하기가 귀찮을 수 있다.

간단하게 포맷하는 batch파일을 생성한다.

 

1. 빈 text파일 생성

2. 이름 및 확장명 변경 (.bat) 그러면 자동으로 아이콘이 변경된다.

3. 편집도구로 열어서 코드 입력

    ※ 경고 실수로 C:나 D: 등 원치 않는 디스크를 포맷하면 시스템 전체, 중요한 데이터가 날라갈 수 있습니다 ※

 

아래 코드에 (디스크알파벳):  을 포맷하고자 하는 디스크로 바꿔주면 된다.

@echo off
echo y | cmd /c format (디스크알파벳): /fs:ntfs /q

    (예시, F: 드라이브를 포맷하는 코드)

@echo off
echo y | cmd /c format F: /fs:ntfs /q

4. 포맷 진행

테스트 파일 F: 내 test파일

 

이 창이 열리고 명령어가 종료되면 자동으로 꺼진 후, 포맷이 완료 된다.

 

(테스트)

만약에 3개의 usb를 한번에 포맷하고 싶을 때? 아래 테스트는 F: G: H: USB드라이브를 동시에 포맷한다.

@echo off

rem 파일 포맷 명령어 (F: 디스크)
echo y | cmd /c format F: /fs:ntfs /q
timeout /t 1
echo y | cmd /c format G: /fs:ntfs /q
timeout /t 1
echo y | cmd /c format H: /fs:ntfs /q
timeout /t 1

timout이 없으면 마지막게 안되서.. 넣어보니 3개가 동시에 되었다

 

 

(아래는 한거번에 여러 usb를 포맷하는 배치파일이다)

ansan-survivor.tistory.com/482

 

[Windows batch] 윈도우 배치파일 USB 전체 포맷시키기, 여러 usb 동시에 포맷하기

USB를 전부 포맷해야 할일이 있는데, 하나하나 전부다 하면 너무 오래걸리고 귀찮다. 그래서 한번에 다 포맷시키는 batch파일을 만들었다. usb만 골라서 전부다 포맷 시켜주는 코드이다. @echo off @ech

ansan-survivor.tistory.com

 

 

 

 

 

반응형
반응형

시스템환경변수를 Batch파일(.bat)을 이용해서 만들어보고

이에 대한 경로를 지정해주는 테스트이다.

시스템속성 - 고급 - 환경변수 에서 확인 할 수 있다.

 

1. 테스트를 위해 D드라이브, batTest 라는 폴더에 test.bat 라는 것을 만들었다.

2. test.bat  코드는 아래와 같다.

@echo on

rem 시스템환경변수 생성하고 경로 지정하기

setx TEST "D:\batTest" -m
setx path "%TEST%;%PATH%" -m

pause

 

3. 이 파일을 관리자권한으로 실행시킨다.

4. 그러면 시스템환경변수에 위 코딩과 같이 추가된걸 볼 수 있다.

반응형
반응형

현재 디렉터리를 다른 디렉터리로 통쨰로 복사해주는 Batch 파일 코드이다.

 

아무 디렉터리에 test라는 폴더를 만들고, currentDir.bat 을 넣었다.

해당 batch파일의 코드는 아래와 같다.

@echo on

rem 현재디렉터리에 있는것을 Target으로 복사 백업하기

set TARGET=C:\test\
xcopy  "%~p0*" "%TARGET%" /e /h /k

pause

 

그러면 현재 저 위에 batch파일이 있는 현재디렉터리의 모든 데이터C:\test\ 폴더로 복사해준다.

폴더가 없다면 자동으로 생성하여 복사한다.

 

폴더를 자동으로 백업할때 유용할 수 있다.

 

결과.

반응형
12

+ Recent posts