기 타 fsutil.exe로 CD,USB 빼고 하드 정보만 출력하기 사용기입니다
2021.11.10 22:03
요즘..cmd에 대해서 많이 배우고 있네요..
지난 사용기에서 USORT.EXE 없이 드라이브 문자, 볼륨명을 보여주는 경우 CD는..체크가 되어서 보여주지 않지만 USB의 경우 정보를 보여주고
있습니다...윈도우 파티션이나 백업파티션에는 해당하지 않은 USB여서 보여주지 않는것이 좋죠.
윈포에는 고수님들이 많으시죠...지식을 베풀어 주신분께 감사드립니다..
덕분에 새로운것을 배울수 있었습니다..항상 좋은일만 있으시길 바랍니다
제목에 있는 fsutil.exe를 보시고 아시는분들은 이제서야 활용하네 하셨을것 같습니다.
어디선가 본것 같지 않으신가요...이미 윈포에서 활용을 하고 있는 것이었습니다..
윈포에 많은 정보가 있다보니까...그 순간에는 이런것도 되는구나 하고 기억을 하지만..활용하지 않아보니까. 어느 순간 기억속에서 사라져버리네요
MS에 있는..fsuitl 명령어 옵션설명입니다
Fsutil fsinfo
아래 질문의 글 댓글에 suk님께서..fsutil.exe를 활용해서 USB를 구분하는 cmd를 소개하여 주셨습니다..많은 도움이 되실것 같습니다
USB 드라이브를 알아내는 명령이 있나요?
https://windowsforum.kr/qna/7958885
왕자님의 초저용량 Win10 RS5 x64 PE에는 아쉽게도 fsutil.exe 파일이 없습니다
fsutil.exe 파일을 추출하려고 보았더니 관련파일처럼 보이는 fsutilext.dll 파일은 왕자님 작품에도 있네요.
아래 파일은 왕자님 Win10 RS5 x64 용입니다..Sytem32 폴더에 넣어 주시면 됩니다 fsutil.exe.mui 파일도 같이 있습니다
용량이 큰 PE에는..이 파일들이 있네요..
Win10 RS5 (17763.1) x64용 fsutil.exe 파일입니다.7z
지난 사용기에 지후빠님께서 USORT.EXE 없이 드라이브 문자,볼륨명을 보여줄때 CD 구분을 하기 위해서 폴더를 만들고 삭제하는 대신에
System Volume Information 폴더를 검색해서 CD 구분을 하는 방식을 소개를 하여주셨습니다..이 과정을 함수처리까지 하여 주셨네요
항상 지식을 아낌없이 베풀어 주시는 지후빠님게 감사드립니다
소스와 첨부파일입니다...소스가 언제보아도 간결한 느낌입니다.
@echo off&cd /d "%~dp0"&setlocal enabledelayedexpansion
call :_VolList drvList
for %%a in (%drvList%) do call :_VolName %%a: drvLabel & echo %%a: !drvLabel!
endlocal&pause>nul&exit/b
:_VolList ::볼륨 목록 생성
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W Y Z) do if exist "%%a:\System Volume Information\" (set %1=!%1!%%a )
goto :eof
:_VolName ::볼륨명 추출
for /f "tokens=2 delims=:" %%a in ('vol %1') do Set %2=%%a&Set %2=!%2:~1!&goto:eof
아래 사용기는 드라이브 문자, 볼륨명을 추출하는데 여러가지 방법들이 있구나 하는 정도로 보아 주십시요
1. 빈 CD롬 드라이브와 UltraISO 가상드라이브, USB가 J: K: L: 의 자리를 차지하고 있습니다
2. 지후빠님께서 알려주신 소스를 활용한것입니다..폴더를 만들고 삭제하는 과정이 없어서..가장 빠른것 같은 느낌입니다..지후빠님 감사합니다
CD롬인 j: K: 드라이브는 없습니다..USB는 표시가 됩니다
3. 아래 명령의 경우 사용되고 있는 드라이브 문자들을 모두 보여줍니다... C~Z 모든 드라이브를 검색하는 대신에 빨간네모만 잘라서 활용하는
것도 하나의 방법이죠..
fsutil fsinfo drives
4. 아래 명령어에서 타입을 알수가 있네요.."고정식"이 들어간것만 보여주면 될것 같습니다
fsutil fsinfo drivetype C:
5. 아래 명령어로 볼륨명을 추출할수가 있습니다..지후빠님 소스에서 그래로 활용할수가 있지만..아래 명령어의 경우 정보가 많네요..Vol 명령보다
0.0001초라도 더 걸리것 같아서.아래 방식은 사용하지 않고 저는 지후빠님 Vol 소스를 활용하였습니다
fsutil fsinfo volumeinfo C:\
6. for 문으로 C~Z 의 모든 드라이브를 검색한 경우 입니다.. 1번에 보면 CD-ROM, 이동식 으로 보이네요
C~Z 처럼 모두 검색하는 경우 2번처럼..빈 드라이브 검색을 한다고 시간이 걸리네요
7. suk님 소스를 활용하여 보았습니다.."고정식"일때만..출력을 하도록 하였습니다
CD롬과 USB 정보는 보이지 않습니다..
- suk 님 소스 입니다
- 고정식인 경우만 출력하도록 수정하여 보았습니다
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 (
for /f "tokens=1 usebackq" %%b in (`"fsutil fsinfo drivetype %%a: | findstr /i "고정식""`) do (
Call :_VolName %%a: sDrvVol
echo %%b !sDrvVol!
)
)
C~Z 모든 드라이브를 검색하는 경우 중간에 빈 드라이브가 있어서 Y: 드라이브를 보여주는데 잠시 주춤합니다
빈드라이브에서도 fsutil.exe 명령어로 테스트 한다고 시간이 걸려서 이제서야 Y: 가 나타났습니다
8. C~Z 검사시 드라이브가 있는 경우에만 fsutil fsinfo drivetype 을 체크하도록 하여 보았습니다
@ECHO OFF
setlocal enabledelayedexpansion
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:\ (
for /f "tokens=1 usebackq" %%b in (`"fsutil fsinfo drivetype %%a: | findstr /i "고정식""`) do (
Call :_VolName %%a: sDrvVol
echo %%b !sDrvVol!
)
)
)
pause>nul
exit
:: 볼륨명 추출
:_VolName
for /f "tokens=2 delims=:" %%a in ('vol %1') do Set %2=%%a&Set %2=!%2:~1!&goto:eof
9. 소개받은 소스는..fsutil fsinfo drives 로 알아낸 드라이브 문자를 활용하고 이것을 적용이 된것입니다
fsutil fsinfo drives로 추출한 드라이브 문자는 C:\ 이렇게 있어서 \를 제거하는 과정이 더 필요합니다.. 타입을 확인하는 명령어에서 시간이 걸리
는것이 당연한것 같습니다..cmd만으로 정보를 보여줄때보다..조금 늦게 정보가 보여지네요..
10. 가상입니다..CD롬과 네트워크 드라이브가 연결이 되어 있습니다
11. 필요한 하드 정보만 보여주고 있습니다
12. 왕자님 PE에서 파일을 추가하였더니 표시가 잘 되고 있습니다
13. 마무리
윈포에 오랫동안 고수님들께서 써 주신 글들이 모이고 모여서..이제는 어떤것이라도 있는 보물창고가 된것 같습니다
이렇게 좋은 정보가 있는데..알려주시기전에는.저는 기억조차도 없었네요..
cmd에서도 이런 기능이 가능하네요...이런 방법도 있구나 하고 참고하여 주십시요
좋은 정보를 알려주신 분께 다시 한번더 감사드립니다..
컴퓨터 관련해서는..배우고 또 배워도..모르는것 투성이네요..
그래도..새로운것을 배울때마다 재미가 있어서 다행입니다
편안하신 시간 되시길 바랍니다
댓글 [10]
-
샤 2021.11.10 22:24
-
기찬샘 2021.11.10 22:39
수고하셨습니다.
-
cungice 2021.11.10 22:39
수고 많으셨습니다. 감사합니다.
-
파란하늘흰구름 2021.11.10 22:55
수고많으셨습니다.
-
올라도 2021.11.10 22:58
수고하셨습니다
-
광풍제월 2021.11.11 01:47
수고하셨습니다.
-
하얀눈사람 2021.11.11 09:20
수고하셨습니다
-
ehdwk 2021.11.11 12:57
수고하셨습니다. -
슈머슈마 2021.11.11 22:07
감사합니다.
-
쭈니당 2021.11.12 00:40
수고 많으셨습니다. ^^
수고하셨습니다.