일괄 처리 로 USB, 하 드 디스크 를 이동 할 수 있 는 디스크 를 가 져 옵 니 다.

주금 찬
원본:http://blog.csdn.net/clever101
 
일괄 처리 로 U 디스크 를 가 져 오고 하 드 디스크 를 이동 할 수 있 는 디스크 문자 에 대해 인터넷 에는 세 가지 방법 이 있 습 니 다.
【 방안 1 】 fsutil
    
 @echo off
    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 %%h in ('fsutil fsinfo drivetype %%a:^|findstr "Removable.*    "') do (
        set DriveU=%%h
      )
    )
    echo.%DriveU%
pause

이런 방법 은 분명히 믿 을 수 없다. 왜냐하면 u 디스크 가 이름 을 바 꿀 가능성 이 높 기 때문에 이름 이 반드시 '이동 가능' 이나 'Removable' 을 가지 고 있 는 것 은 아니다.
[방안 2] WMIC
    @echo off
    for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DriveType='2'" get DeviceID /value') do (
      set DriveU=%%a
    )
    echo.%DriveU%
pause

  
 이런 방법 은 테스트 를 거 친 후에 실행 할 수 있다.
【 방안 3 】 BAT + VBS (장점 은 Win 2000 시스템 호 환 가능)
 @echo off
    <%~fs0 more +10>%temp%\GetU.vbs
    for /f %%a in ('cscript /nologo "%temp%\GetU.vbs"') do (
      set "DriveU=%%a"
    )
    echo.%DriveU%
    pause
    goto :eof

    ''''''''''''''''''''''''''''''''''''''''''''''''''''
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set B = Fso.Drives

    For Each A in B
        If A.DriveType = 1 Then
           aDisk = aDisk & A.DriveLetter & ": "
        End If
    Next
    aDisk = Replace(aDisk, "A: ","")
WScript.Echo aDisk

          이런 방법 은 약간의 효과 가 있 지만, 때때로 콤 보 소켓 (카드 리더 구동) 을 U 디스크 로 간주한다.
 
          그래서 종합 적 으로 두 번 째 방법 이 가장 좋다.
참고 문헌:
1. 일괄 처리 로 USB, 하 드 디스크 를 이동 할 수 있 는 디스크 를 가 져 옵 니 다.

좋은 웹페이지 즐겨찾기