일괄 처리 로 USB, 하 드 디스크 를 이동 할 수 있 는 디스크 를 가 져 옵 니 다.
1944 단어 일괄 처리 U 디스크 문자 가 져 오기
원본: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, 하 드 디스크 를 이동 할 수 있 는 디스크 를 가 져 옵 니 다.