윈 도 우 CMD 배치문 ???
2017.07.24 05:40
안녕하세요...
CMD 배치문에 대해서 문의합니다...
하드디스크 드라이브의 각 볼륨명을 검색해서, 지정된 볼륨명(Windows7)과 정확히 일치하는(단, 대소문자 무시) 드라이브 명을 찾는 과정입니다..
Ghost 부속파일인 OMNIFS32.EXE 를 사용한 것은 히든파티션도 검색해 주기 때문입니다..
아래는 하드디스크 현황입니다...
omnifs32 info 출력 화면입니다. 여러 test 하느라 볼륨명 다른 사진이 첨부되었네요. (DATA_Windows7 ==> WIndows7_DATA)
사용된 명령어 입니다.. omnifs32 info | findstr /i "Windows7" > disk.txt 그리고 결과물...
원하는 건 첫 행 (검색어와 정확히 일치) 뿐인데.... 원치않는 두 번째 행 ( 검색어를 포함하는...) 까지 출력됩니다..
제가 어떤 옵션을 누락했거나,,,,, 잘 못된 명령어를 사용한 것 같습니다..
1. OMNIFS 와 FINDSTR (?)를 사용한 조건에 맞는 정확한 배치명령문을 알고 싶습니다..
2. 히든파티션이 없다는 전제하에 OMNIFS 가 아닌 윈도우 자체명령을 이용한 배치문을 알고 싶습니다...
3. 검색해서 해당 볼륨이 없거나 또는 동일한 볼륨명을 갖는 드라이브가 두 개 이상 존재할 경우 에러메세지를 출력하는 명령을 알고 싶습니다.
감사합니다..
--
댓글 [5]
-
이세라 2017.07.24 11:51 -
바람낙엽 2017.07.24 11:59
-
DarknessAngel 2017.07.24 17:08
매번 하는 애기지만, cmd/bar의 내장 문자열 처리기능은 사용하기 불편하고, 기능상 제약이 크므로 추천하지 않습니다
라이센스 문제가 아니라면 busybox등의 GNU계열의 바이너리를 추가해서 그쪽으로 문자열 처리를 하시길 추천합니다
-
차일드 2017.07.24 18:06 매번 쓰레기 같은 갖잖은 대답만 하시네
그리좋은 비지박스던 gnu계열이 좋으면 강좌라도 해보소
글번호 8544809에도 이딴식으로 올려 작상자/댓글자들 자괴감 빠지게
만드는 시덥지 않는 댓글 자제좀 하죠!
그냥 질문자에 대한 답글이 아니면 달지 밀아요
-
DarknessAngel 2017.07.25 04:24
굳이 썩어넘치는게 리눅스용 문자열 편집 예문인데, 중복 하나 더 작성해서 무슨 보템이 된다는건지? (차라리 그 시간에 다른 덜 흔한 주제로 작성하는게 효율적입니다)
busybox등을 쓰면 리눅스용 문자열 다루는 예문 거의 그대로 (bash문법 제외) 이용 가능합니다 (랄까 특별한일 없다면 7이상이라면 내장된 파워셀을 쓰는 ps1타입 스크립트로 작성하는게 더 현실적입니다) (PE등의 제한된 환경이 아닌 이상 굳이 구시대 유물같은 케케묵은 dos시절의 문법을 고집할 이유 어딧는지?)
장기적으로 보면 저걸로 익힐 시간에 차라리 파워셀 문법을 익혀두는게 더 보템이 됩니다 (RS3에서는 기본셀이 파워셀로 교체될정도로 마소도 밀고 있습니다) (아니면 리눅스 타입으로 익힌후 기능 추가제거를 통해 해당 기능 설치하면 굳이 수동으로 바이너리등을 복사 안 해도 잘 됩니다 (차후 윈도 이외의 OS다룰 일 있을때도 써먹을 수 있으니 배워두면 보템 됨) )
이대로 가면 RS5(가칭)쯤 되면 아에 셀자체가 사라질지도 모르는 구시대 유물 문법을 추천하고 싶진 않습니다
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
69711 | 소프트웨어| 고수님들 의견 수렴합니다..바이오스 업데이트...할까?? 말... [3] | 수퍼센트 | 650 | 07-25 |
69710 | 윈 도 우| 장치관리자의 시스템장치 오류표시 [3] | never | 535 | 07-25 |
69709 | 서버 / IT| TeamViewer 다중접속 관련 입니다. [3] | 구들장 | 405 | 07-25 |
69708 | 윈 도 우| iso파일을 vhd에 깔아서 듀얼 부팅해볼려고 하는데요 [2] | 도우너2 | 271 | 07-25 |
69707 | 하드웨어| 1800x 와 궁합이 잘 맞을듯한 주변기기 추천부탁합니다. [6] | 도셀12 | 305 | 07-25 |
69706 | 소프트웨어| AIMP 에러 메시지 해결 가능할까요? [2] | 줄넘기 | 332 | 07-25 |
69705 | 소프트웨어| 아크로..nis 12 or 12.5...질문 [2] | 짱군 | 235 | 07-25 |
69704 | 소프트웨어| 공인인증서 들어있는 usb에실수로 os 설치하다 멈췄습니다 [13] | 키트 | 1627 | 07-24 |
69703 | 하드웨어| RAM 관련하여 문의드립니다. [8] | joyleehk | 679 | 07-24 |
69702 | 소프트웨어| 윈도우 방화벽에 마우스 오른쪽 키로 차단,허용할 수 있는 ... | brucex | 227 | 07-24 |
69701 | 윈 도 우| 체크 디스크로 삭제된 파일 복원 문제입니다 [3] | 카이존 | 750 | 07-24 |
69700 | 윈 도 우| ky님 우클릭 레지스트리중에..시스템종료 #2 [3] | 짱군 | 321 | 07-24 |
69699 | 윈 도 우| vmware player 네트워크 설정 방법 좀 가르쳐주세요 [2] | dskang10 | 278 | 07-24 |
69698 | 기 타| 집에다 동영상 공유해 편하게 볼수 있는 방법 좀 알려주세요.. [6] | 카니 | 667 | 07-24 |
69697 | 소프트웨어| acronis 백업이 안됩니다... [2] | 웃을까 | 343 | 07-24 |
69696 | 소프트웨어| 폐쇄망에서의 백신..? [5] | xd | 576 | 07-24 |
69695 | 윈 도 우| ky님 우클릭 레지스트리중에..시스템종료 | 짱군 | 203 | 07-24 |
» | 윈 도 우| CMD 배치문 ??? [5] | 바람낙엽 | 392 | 07-24 |
69693 | 소프트웨어| 팟플레이어 스킨 적용하면 채팅창이 먹통이에요. [2] | 코나 | 363 | 07-24 |
69692 | 기 타| 포토샵 기능 문의 [4] | 벗나무 | 286 | 07-23 |
2번에 해당하는 배치 파일입니다.
아래 배치문에는 두가지가 예문이 포함되어 있으므로 길다고 혼동 하시지 마세요
아래 빨간 call: dual 이라는 구문 보일겁니다.
빨간 부분을 call: only로 바꾸면 완전 일치 볼륨만 찾습니다.
:only <- 완전 일치(대소문자 구분없이 완전 일치 볼륨)
:dual <- 1개 이상(즉, 찾는 문자가 들어 있는 모든 볼륨)
:end <- 찾으면 카운트 출력함
자세한 설명은 보시고 탐독 하세요~
@echo off
setlocal
:start
set label=%1
set /a cnt=0
for %%a in (C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z:) do (
if exist %%a call :find %%a
)
goto END
:find
vol %1 | find /I "%label%" > chk.txt
if %ERRORLEVEL% EQU 0 (call :dual)
goto :EOF
:only
set /p name=<chk.txt
for /f "tokens=2 delims=:" %%b in ("%name%") do (set vol=%%b)
set vol=%vol:~1%
if /I "%vol%" == "%label%" set /a cnt+=1
goto :EOF
:dual
set /p name=<chk.txt
set /a cnt+=1
goto :EOF
:end
echo 찾음 = %cnt%
endlocal
---------------------------------------------------
call :dual 로 했을때
실행> check.cmd windows7
결과> 찾음 = 2
call :only 로 했을때
실행> check.cmd windows7
결과> 찾음 = 1