求批处理代码——U盘判断
@echo off
for %%i 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 @fsutil fsinfo drivetype %%i:>>”%temp%\DRIVER.LOG”
findstr /i “可移动驱动器” “%temp%\DRIVER.LOG” 2>nul
for /f “tokens=1” %%a in (‘findstr /i “可移动驱动器” “%temp%\DRIVER.LOG”2^>nul’) do start %%a
if errorlevel==1 echo 未检测到U盘!!!
del “%temp%\DRIVER.LOG” /f /q>nul 2>nul
pause
在WIN7与VISTA下需要管理员权限!!!主要是FSUTIL的原因。。。
C语言编程识别U盘等移动设备
如果插入U盘 C语言会检测 然后执行命令 很简单哦 本人永久QQ 2912441641
怎样查找u盘
您好,LZ 是怎么意思?是打开我的电脑没有看见U盘那个盘么?如果是这样的话,可以右击我的电脑,点击管理.然后里面有个磁盘管理.在里面点击您的那个U,然后右击打开就好啦 如果您还有什么不懂的,可以在百度里HI我.希望您采纳!
DOS下如何识别U盘?
可能遇到过需要在DOS下用闪存盘的情况。比如最近我一个朋友,光驱坏掉了,他希望用自己的128MB的闪存盘,存上精简版Win98,然后重装系统。但是一直以来,在DOS下用闪存盘似乎难以实现。其实,在DOS系统下使用USB闪存设备并不复杂,只需要几个步骤。首先,制作一张DOS启动盘,然后到网上去下载两个东东,分别是Mhairudos和Kxlrw40an,下载地址为:
http://ftp.dars.com.ru/support/dos_usb/mhairudos.zip
http://panasonic.co.jp/pcc/products/drive/cdrrw/kxlrw40an/driver/kxlrw40an.exe
我们只需要Mhairudos文件中的Di1000dd.sys文件和Kxlrw40an.exe自解压后的RAMFD.SYS、USBCD.SYS和Usbaspi.sys文件,将这4个文件一并拷贝至启动盘的根目录下备用。接着我们需要修改一下启动盘中的文件,将启动盘中的Config.sys文件通过记事本打开,在[CD]小节的任意位置加入如下代码:
device=a:\usbaspi.sys
device=a:\di1000dd.sys
最后将USB设备和主板USB口连接,重新启动电脑进入BIOS,将第一启动设置为软盘启动,保存后退出。这样就完成了所有的设置。不过,由于优盘启动时候需要读取驱动,所以启动时间将会比较长一些,启动盘会先扫描USB端口,之后分配给该设备一个ID识别号码,一直循环将所有USB设备扫描完毕。之后即可使用U盘。你觉得如何呢?
dos环境下如何用命令行给刚接入的U盘检测和杀死病毒啊 ?谢谢
插入U盘后,假如U盘的盘符是G: DOS下输入 G: (进入G盘) dir /p /w (查看文件夹下所有文件) 假如有一个可以文件名为autorun.ini 那么你再输入 del autorun.ini 这样就可以删除病毒文件了
易语言检测U盘插入并获取盘符,求方法,有源码更好!
下面是获取U盘的插入或拔除事件的代码,有dll命令和自定义类型常量。如果不是很明白,把邮箱写上,我发给你。
.
.版本 2
.程序集 窗口程序集1
.程序集变量 a, 子程序指针
.子程序 __启动窗口_创建完毕
a = SetWindowLong (_启动窗口.取窗口句柄 (), -4, &MsgProc)
.子程序 MsgProc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wp, 整数型
.参数 lp, 整数型
.局部变量 val, PDEV_BROADCAST_VOLUME
.局部变量 i, 整数型
.局部变量 mask, 整数型
.判断开始 (msg = 537)
.判断开始 (wp = #DBT_DEVICERARRIVAL) ‘ 插入设备
复制结构体 (val, lp, 14)
.如果真 (val.dbcv_devicetype = #DBT_DEVTYP_VOLUME)
mask = val.dbcv_unitmask
.变量循环首 (0, 25, 1, i)
.如果真 (位与 (mask, 1) = 1)
跳出循环 ()
.如果真结束
mask = 右移 (mask, 1)
.变量循环尾 ()
编辑框1.加入文本 (“USB磁盘被插入,盘符:” + 字符 (65 + i) + #换行符)
检测 (字符 (65 + i))
.如果真结束
.判断 (wp = #DBT_DEVICEREMOVECOMPLETE) ‘ 删除设备
复制结构体 (val, lp, 14)
.如果真 (val.dbcv_devicetype = #DBT_DEVTYP_VOLUME)
mask = val.dbcv_unitmask
.变量循环首 (0, 25, 1, i)
.如果真 (位与 (mask, 1) = 1)
跳出循环 ()
.如果真结束
mask = 右移 (mask, 1)
.变量循环尾 ()
编辑框1.加入文本 (“USB磁盘被拔除,盘符:” + 字符 (65 + i) + #换行符)
.如果真结束
.默认
.判断结束
.默认
.判断结束
返回 (CallWindowProc (a, hwnd, msg, wp, lp))
.子程序 __启动窗口_将被销毁
a = SetWindowLong (_启动窗口.取窗口句柄 (), -4, a)
.子程序 检测
.参数 盘符, 文本型
.局部变量 fn, 文本型
fn = 寻找文件 (盘符 + “:\*.*”, )
编辑框2.内容 = “”
.判断循环首 (fn ≠ “”)
编辑框2.加入文本 (fn + #换行符)
fn = 寻找文件 (, )
.判断循环尾 ()
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈自定义类型≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈
.数据类型 PDEV_BROADCAST_VOLUME
.成员 dbcv_size, 整数型, , , 14
.成员 dbcv_devicetype, 整数型
.成员 dbcv_reserved, 整数型
.成员 dbcv_unitmask, 整数型
.成员 dbcv_flags, 短整数型
.数据类型 _DEV_BROADCAST_HDR
.成员 dbch_size, 整数型
.成员 dbch_devicetype, 整数型
.成员 dbch_reserved, 整数型
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈常量≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈
.常量 WM_DEVICECHANGE, “537”, , 驱动盘符被改变
.常量 DBT_DEVICEREMOVECOMPLETE, “32772”
.常量 DBT_DEVICERARRIVAL, “32768”
.常量 DBT_DEVTYP_OEM, “0”
.常量 DBT_DEVTYP_DEVNODE, “1”
.常量 DBT_DEVTYP_VOLUME, “2”
.常量 DBT_DEVTYP_PORT, “3”
.常量 DBT_DEVTYP_N, “4”
如何在DOS查看U盘
如果主板支持USB-HDD,在DOS下可以识别为一个磁盘.需要注意的是插上U盘在纯DOS下发生盘符交错现象. 比如如果硬盘是FAT32格式,由硬盘虚拟软件启动DOS或者光盘启动DOS,C盘是硬盘的原来的C盘,D盘就是U盘了.然后E盘是原来硬盘的D盘.如果U盘DOS启动盘启动,U盘就可能占用C盘盘符.如果硬盘是NTFS格式,可能第一个盘符就是C盘就是U盘,如果加载了NTFS识别程序,可能U盘又是别的什么.需要用命令查看验证,可以先打盘符转救转换命令,然后用DIR 查看验证确认.比如要查看D盘,先打D再跟一个英文状态的冒号,就到了D盘,然后再打DIR查看.
在哪里可以找到这个啊:win+R→输入CMD→H :(是你U盘的盘符)→chkdsk/f就可以了.
win+r 就是快捷键,win 就是键盘最下面一般在左下角第二个按钮,标志是windows 徽标的,四叶窗口标志…这个操作之后就会出现一个提示框,提示你输入命令行,,,输入CMD,,这样就会出现一个DOS命令行执行窗口.接着在命令行执行窗口中输入"H:"(这个H是你的U盘的盘符,不知道的话自己去我的电脑打开看就是了..是什么就用什么).然后再输入命令行chkdsk /f 检测磁盘就好了
vb代码怎么检测U盘的动作?
Imports System.IO
Public Class Form1
Public Const WM_DEVICECHANGE = &H219
Public Const DBT_DEVICEARRIVAL = &H8000
Public Const DBT_CONFIGCHANGECANCELED = &H19
Public Const DBT_CONFIGCHANGED = &H18
Public Const DBT_CUSTOMEVENT = &H8006
Public Const DBT_DEVICEQUERYREMOVE = &H8001
Public Const DBT_DEVICEQUERYREMOVEFAILED = &H8002
Public Const DBT_DEVICEREMOVECOMPLETE = &H8004
Public Const DBT_DEVICEREMOVEPENDING = &H8003
Public Const DBT_DEVICETYPESPECIFIC = &H8005
Public Const DBT_DEVNODES_CHANGED = &H7
Public Const DBT_QUERYCHANGECONFIG = &H17
Public Const DBT_USERDEFINED = &HFFFF
Protected Overrides SubWndProc(ByRef m AsSystem.Windows.Forms.Message)
Ifm.Msg = WM_DEVICECHANGE Then
SelectCase m.WParam
CaseWM_DEVICECHANGE
CaseDBT_DEVICEARRIVAL ‘U盘插入
Dims() As DriveInfo= DriveInfo.GetDrives
ForEach drive As DriveInfo In s
If drive.DriveType = DriveType.RemovableThen
Text = “U盘已插入!盘符为:” + drive.Name.ToString()
End If
Next
CaseDBT_CONFIGCHANGECANCELED
CaseDBT_CONFIGCHANGED
CaseDBT_CUSTOMEVENT
CaseDBT_DEVICEQUERYREMOVE
CaseDBT_DEVICEQUERYREMOVEFAILED
CaseDBT_DEVICEREMOVECOMPLETE ‘U盘卸载
Text = “U盘卸载!”
CaseDBT_DEVICEREMOVEPENDING
CaseDBT_DEVICETYPESPECIFIC
CaseDBT_DEVNODES_CHANGED
CaseDBT_QUERYCHANGECONFIG
CaseDBT_USERDEFINED
EndSelect
End If
MyBase.WndProc(m)
End Sub
End Class
LINUX下,用C语言怎样去检测到U盘的插入和拨出
可以用挂载,一般U盘有指定的分区号,格式是:mount /dev/sda /mnt 其中/sda是指USB设备 这样就把u盘挂载到/mnt这个临时文件夹里了 2013-04-18 回答者: 复活的青年 1个回答 1