윈 도 우 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 | - | - |
69797 | 기 타| 회원님들 죄송합니다 여기서 유에스비 3.0 [16] | ㄷㄱ | 935 | 08-02 |
69796 | 게 임| 회원님들 여기 3.0 구멍에다 [3] | ㄷㄱ | 688 | 08-02 |
69795 | 윈 도 우| 수정된 iso는 [3] | 심심한시에 | 622 | 08-02 |
69794 | 윈 도 우| 밑에 파랑색으로 된 iso로 된 자료를 찾습니다 ^-^ [7] | 우주 | 668 | 08-01 |
69793 | 하드웨어| 그래픽카드의 이상유무(성능) 확인방법 [8] | never | 1571 | 08-01 |
69792 | 윈 도 우| Windows 10 레드스톤 (RS2) 화면 해상도 변경이 안되요~ | 백월산 | 674 | 08-01 |
69791 | 소프트웨어| 플래시 배너 프로그램을 win10에서 사용할 수 있는 방법이 ... [2] | 원포사랑 | 301 | 08-01 |
69790 | 윈 도 우| BCD 중 winload 위치 [1] | varvari | 382 | 08-01 |
69789 | 윈 도 우| 직장 컴은 키가 검색되지 않네요. [6] | 유기농 | 417 | 08-01 |
69788 | 소프트웨어| world best pe의 옵젝트독에 질문입니다. | brucex | 135 | 08-01 |
69787 | 윈 도 우| 장치 완전 삭제? [1] | 한스 | 312 | 08-01 |
69786 | 윈 도 우| 윈도우탐색기 cpu 점유율 [1] | CKI_Math_L | 1475 | 08-01 |
69785 | 윈 도 우| 노트북에서 netplwiz 에러~ [1] | hwasung | 584 | 08-01 |
69784 | 윈 도 우| 윈도우 검색 먹통현상 [6] | 가드리아 | 533 | 08-01 |
69783 | 소프트웨어| AcronisTrueImage2017 [3] | 거스 | 896 | 07-31 |
69782 | 모 바 일| 부풀은 배터리 무상교환 되나요? [4] | 한걸음 | 911 | 07-31 |
69781 | 윈 도 우| 뭐좀여쭙니다.제가 pc를 사용하는데요..질문좀드릴께요 [1] | 알파궁상 | 360 | 07-31 |
69780 | 기 타| ctrl키가 이상합니다 [3] | 무명거사 | 296 | 07-31 |
69779 | 하드웨어| 하드 데이터 수명 질문입니다. [14] | 웃기는짬뽕 | 653 | 07-31 |
69778 | 소프트웨어| FSCapture가 정상 작동되지 않는데 해결 방법이 있는지요? [3] | abxyz | 242 | 07-31 |
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