中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 求助,如何获取磁盘容量 上一主题 | 下一主题
beyond18wu
初级用户





积分 22
发帖 9
注册 2008-2-21
状态 离线
『楼 主』:  求助,如何获取磁盘容量

用批处理写了个工具,对U盘拷贝文件(写满磁盘)然后比对文件,验证拷进去的资料是否正确。现在问题是不能自动判断U盘的容量,就不知道要写满U盘的话要拷多大的文件进去,现在只能固定死测试512M的,另外不同电脑插入U盘后显示的盘符也不一样,所以我做了很多个批处理文件,每个对应处理一个盘符。
   我现在需要解决上面的问题,就是自动获取移动磁盘盘符和容量,然后赋值给2个变量,再去做相应处理,请高手帮忙

2008-2-21 16:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  

楼主是不是换了个马甲继续提问的,上次同样问题注册下,发了求助留下163邮箱地址就不管了(意思让人送代码上门)
只是我也找不到该贴了



第一高手    第二高手

2008-2-21 18:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 3 楼』:  

这个好象置顶帖里有了 搜索下吧

2008-2-21 19:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 4 楼』:  判断U盘可用大小,并进行文件写入测试

确定了一下那贴应该不是楼主发的,再说这段代码应用很有价值的,回复你一下了!
最后希望楼主改下标题,以便方便以后搜索
@echo off
fsutil >nul 2>nul
if "%errorlevel%"=="1"    echo 非管理员身份运行&ping/n 5 127.1>nul&exit
if "%errorlevel%"=="9009" echo 运行环境必须是 Windows XP Professional 以上系统&ping/n 5 127.1>nul&exit
for /f "skip=2 tokens=2,3 delims=," %%i in ('WMIC LogicalDisk Where "DriveType=2 and SupportsDiskQuotas=FALSE" Get DeviceID^,FreeSpace /format:csv 2^>nul') do call :xxx %%i %%j
if not defined freesize echo 未找到可移动磁盘
pause&exit

:xxx
set freesize=%2
if not defined freesize goto:eof
if exist "%1\test.txt" del /q "%1\test.txt"
echo 正在写入%freesize%字节大小的测试文件到%~1盘...
fsutil file createnew "%1\test.txt" %freesize% >nul&&echo %1 盘文件拷贝测试成功!||echo %1 盘文件拷贝测试失败
del "%1\test.txt" 2>nul
echo.
goto:eof
  该代码希望大家能收藏备用,它的价值在于能判断U盘厂商是否在flash芯片上动了手脚(奸商行为能将U盘容量加倍)去电脑城买U盘时带上这个代码肯定不让你吃亏!

[ Last edited by fastslz on 2008-2-22 at 04:48 PM ]

   此帖被 +20 点积分         点击查看详情   
评分人:【 zh159 分数: +20  时间:2008-2-22 10:29




第一高手    第二高手

2008-2-21 20:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenai79921
初级用户





积分 120
发帖 48
注册 2007-12-1
状态 离线
『第 5 楼』:  

高手啊,,

2008-2-21 20:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by fastslz at 2008-2-21 08:33 PM:
确定了一下那贴应该不是楼主发的,再说这段代码应用很有价值的,回复你一下了!
最后希望楼主改下标题,以便方便以后搜索
[code]@echo off
for /f & ...

不行, 我試過以上coding, 但都是失敗, 如下??

Q:\Documents\>rem 獲取磁盤容量
正在寫入字節大小的測試文件到Q:盤...
盤文件拷貝測試失敗

請按任意鍵繼續 . . .

2008-2-21 20:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by xmi at 2008-2-21 20:54:


不行, 我試過以上coding, 但都是失敗, 如下??

Q:\Documents\>rem 獲取磁盤容量
正在寫入字節大小的測試文件到Q:盤...
盤文件拷貝測試失敗

請按任意鍵繼續 . . .

你是繁体版系统?



第一高手    第二高手

2008-2-21 21:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 8 楼』:  

是呀!

2008-2-21 22:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 9 楼』:  

dir/-c "%~1\"^|find "可用字节"
是简体叫它怎么find呀

  Quote:
C:\Documents and Settings\FastSLZ>dir /-c
驱动器 C 中的卷是 WINXP
卷的序列号是 4C4E-A0AB

C:\Documents and Settings\FastSLZ 的目录

2008-02-12  20:40    <DIR>          .
2008-02-12  20:40    <DIR>          ..
2007-10-06  02:41    <DIR>          Contacts
2007-09-26  22:57    <DIR>          Favorites
2008-02-12  21:05    <DIR>          Phone Browser
2007-09-27  00:25    <DIR>          WINDOWS
2007-09-27  13:59    <DIR>          「开始」菜单
2008-02-21  10:59    <DIR>          桌面
               0 个文件              0 字节
               8 个目录     1561735168 可用字节

C:\Documents and Settings\FastSLZ>

把你的贴出来



第一高手    第二高手

2008-2-21 22:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 10 楼』:  

rem 獲取磁盤容量
@echo off
for /f "skip=1 delims= " %%a in ('"Wmic LogicalDisk Where DriveType="2" Get DeviceID|find /v "N:""') do call :xxx "%%a"
pause

:xxx
if "%~1"=="" goto:eof
if exist "%~1\test.txt" del /q "%~1\test.txt"
for /f "tokens=3" %%b in ('dir/-c "%~1\"^|find "可用字節"') do set freesize=%%b
echo 正在寫入%freesize%字節大小的測試文件到%~1盤...
fsutil file createnew "%~1\test.txt" %freesize% >nul&&echo %~1 盤文件拷貝測試成功!||echo 盤文件拷貝測試失敗
del "%~1\test.txt" 2>nul
echo.
goto:eof

以你在4樓的code做測驗...以上是了.

2008-2-22 00:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 11 楼』:  

晕繁体语法不一样的,不的简单把"可用字节"改成"可用字節"

执行命令
dir /-c
将9楼的绿色文字部分贴出来



第一高手    第二高手

2008-2-22 00:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 12 楼』:  

C:\>dir /-c
磁碟區 C 中的磁碟沒有標籤。
磁碟區序號:  78CD-DF2F

C:\ 的目錄

2007-08-12 星期日  下午 09:37                 0 AUTOEXEC.BAT
2007-08-12 星期日  下午 09:37                 0 CONFIG.SYS
2007-08-12 星期日  下午 10:40    <DIR>          Documents and Settings
2007-12-28 星期五  下午 07:05    <DIR>          Intel
2008-02-21 星期四  下午 10:14    <DIR>          Program Files
2007-09-02 星期日  上午 11:29    <DIR>          Program Files 免安裝
2007-08-12 星期日  下午 10:04    <DIR>          TempEI4
2008-01-28 星期一  下午 11:24    <DIR>          VS2008TrainingKit
2008-02-16 星期六  上午 09:27    <DIR>          WINDOWS
               2 個檔案               0 位元組
               7 個目錄     11365900288 位元組可用

是簡體字...但我已把它轉成繁體的各呀!

[ Last edited by xmi on 2008-2-22 at 01:04 AM ]

2008-2-22 01:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 13 楼』:  

适合繁体的

  Quote:
@echo off
for /f "skip=1 delims= " %%a in ('"Wmic LogicalDisk Where DriveType="2" Get DeviceID|find /v "A:""') do call :xxx "%%a"
pause

:xxx
if "%~1"=="" goto:eof
if exist "%~1\test.txt" del /q "%~1\test.txt"
for /f "tokens=3" %%b in ('dir/-c "%~1\"^|find "位元組可用"') do set freesize=%%b
echo 正在写入%freesize%字节大小的测试文件到%~1盘...
fsutil file createnew "%~1\test.txt" %freesize% >nul&&echo %~1 盘文件拷贝测试成功!||echo 盘文件拷贝测试失败
del "%~1\test.txt" 2>nul
echo.
goto:eof





第一高手    第二高手

2008-2-22 10:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
beyond18wu
初级用户





积分 22
发帖 9
注册 2008-2-21
状态 离线
『第 14 楼』:  

感谢大家的回答,我试了下,上面代码能获取本地磁盘的容量,但移动磁盘容量获取不到是怎么回事

2008-2-22 11:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by beyond18wu at 2008-2-22 11:06:
感谢大家的回答,我试了下,上面代码能获取本地磁盘的容量,但移动磁盘容量获取不到是怎么回事

13楼只针对繁体版XP,简体的用4楼



第一高手    第二高手

2008-2-22 11:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: