2014-02-09 1 views
1

작은 프로젝트에서 컴퓨터를 검사하고 어떤 드라이브가 연결되어 있고 무엇인지 (USB, 하드 드라이브, 디스크) 옵션을 추가하고 싶습니다. 드라이브, SSD 등)어떤 드라이브가 컴퓨터에 연결되어 있는지 찾기

이것은 내가 지금까지 가지고있는 것입니다.

echo off 
:start 
color 0a 
cls 
title Search 
echo To search enter the drive and term you wish to search below. 
echo --------------------------------------------------------------------------- 
set inputdrive= 
set /p inputdrive=Drive: 
set input= 
set /p input=Search: 
dir %inputdrive%:\%input% /s /b 
pause 
echo search again? 
set inputsearch= 
set /p inputsearch=(Y/N) 
if %inputsearch%==Y goto start 
if %inputsearch%==N exit 

스크립트 시작 부분에 연결된 드라이브를 검사하는 옵션을 추가 할 계획입니다.

답변

1

당신은 관리자 권한이 필요없이 정보를 얻을 수 WMIC를 사용할 수있는 사용하려면 관리자 권한이 있어야합니다.

@echo off 
setlocal 

set ^"driveTypes=^ 
0Unknown   :^ 
1No Root Directory:^ 
2Removable Media :^ 
3Local Disk  :^ 
4Network Drive :^ 
5CD/DVD   :^ 
6RAM Disk   :^" 

echo Available Drives: 
echo(
echo ID Drive Type   Volume Name 
echo -- ----------------- ----------- 
for /f "skip=1 tokens=1-3" %%A in (
    '"wmic logicalDisk get DeviceID, DriveType, VolumeName"' 
) do if "%%B" neq "" (
    setlocal enableDelayedExpansion 
    for /f "delims=:" %%D in ("!driveTypes:*%%B=!") do (
    endlocal 
    echo %%A %%D %%C 
) 
) 

그냥 조금 더 코드에만 드라이브 목록을 제한합니다 : 여기

는 모든 미디어가 설치되지 않은 이동식 미디어 드라이브를 포함, 가능한 모든 드라이브의 좋은 목록을 제공합니다 코드 미디어와 함께 사용 가능 :

@echo off 
setlocal 

set ^"driveTypes=^ 
0Unknown   :^ 
1No Root Directory:^ 
2Removable Media :^ 
3Local Disk  :^ 
4Network Drive :^ 
5CD/DVD   :^ 
6RAM Disk   :^" 

echo Available Drives: 
echo(
echo ID Drive Type   Volume Name 
echo -- ----------------- ----------- 
for /f "skip=1 tokens=1-3" %%A in (
    '"wmic logicalDisk get DeviceID, DriveType, VolumeName"' 
) do if "%%B" neq "" dir %%A >nul 2>nul && (
    setlocal enableDelayedExpansion 
    for /f "delims=:" %%D in ("!driveTypes:*%%B=!") do (
    endlocal 
    echo %%A %%D %%C 
) 
) 
+0

감사합니다! 나는 이것이 내가 원하는 것에 위대한 일을해야한다고 생각한다. – Lpowell

0
fsutil fsinfo drives 
fsutil fsinfo drivetype c: 

은 그러나 당신은

관련 문제