无忧启动论坛

标题: 用批处理来给U盘或磁盘设置写保护,新增批处理分区(beta) [打印本页]

作者: sratlf    时间: 2010-4-23 23:18
标题: 用批处理来给U盘或磁盘设置写保护,新增批处理分区(beta)
0424 2326
应dvd008大要求用批处理调用diskpart来进行分区  因代码较长  下载见附件

目前实现的功能有显示磁盘、分区列表,主分区、扩展分区、逻辑分区的建立及删除

其中分区建立后会自动分配盘符并格式化

没有进行详细测试  只在我自己的虚拟机里测试没有问题  有兴趣的朋友可以帮忙测试下

友情提示:测试请尽量在虚拟机  实机测试请切勿在有重要资料的硬盘上进行


0423
闲着没事写了个批处理  用来给U盘或磁盘设置写保护   利用diskpart实现的  原理大家都知道


注意这个不包含diskpart.exe  

需要在03以上系统或者2.0以上(建议)的PE中运行
  1. @echo off
  2. goto begin

  3. :begin
  4. echo list vol >>%temp%\list
  5. diskpart /s %temp%\list
  6. del /q %temp%\list
  7. goto num

  8. :num
  9. set num=
  10. echo 请根据上图输入你希望设置写保护的磁盘卷号:
  11. set /p num= 请输入:

  12. echo select vol %num% >%temp%\att
  13. diskpart /s %temp%\att

  14. set rnum=
  15. echo 所选磁盘是否正确,不正确请输入B返回,正确请回车继续
  16. set /p rnum= 请输入:

  17. if "%rnum%"=="b" (goto num) else goto continue

  18. :continue
  19. set att=
  20. echo 设置写保护请输入S  去除写保护请直接回车:
  21. set /p att= 请输入:

  22. if "%att%"=="s" (goto set) else goto clear

  23. :set
  24. echo att vol set readonly >>%temp%\att
  25. goto att

  26. :clear
  27. echo att vol clear readonly >>%temp%\att
  28. goto att

  29. :att
  30. diskpart /s %temp%\att
  31. del /q %temp%\att
  32. goto end

  33. :end
  34. set end=
  35. echo 继续请输入B  退出请直接回车:
  36. set /p end= 请输入:

  37. if "%end%"=="b" (goto begin) else exit
复制代码

[ 本帖最后由 sratlf 于 2010-4-24 23:47 编辑 ]

readonly.rar

505 Bytes, 下载次数: 390, 下载积分: 无忧币 -2

复制上面代码或者下载附件都可以 内容相同

partition_create_beta.rar

1.15 KB, 下载次数: 345, 下载积分: 无忧币 -2


作者: gudu    时间: 2010-4-24 00:58
谢谢分享。。。。。。。。。
作者: renchmin    时间: 2010-4-24 08:23
楼主做的不错啊,支持一下了啊。
作者: xacxf_2000    时间: 2010-4-24 08:33
谢谢楼主。支持一下。谢谢楼主。支持一下了啊。
作者: fujianabc    时间: 2010-4-24 09:13
select vol后面可以直接用盘符,不需要用数字了。
作者: dvd008    时间: 2010-4-24 12:50
能不能写个分区的 BAT
这样就不用GUI了,那个280K,
作者: yjd    时间: 2010-4-24 13:47
上次f大师是说对ntfs无效还是fat32了?
作者: baosheng00    时间: 2010-4-24 16:04
这个不错,就不怕病毒的入侵了。
作者: fujianabc    时间: 2010-4-24 16:54
原帖由 yjd 于 2010-4-24 13:47 发表
上次f大师是说对ntfs无效还是fat32了?

ntfs/fat32/exfat都有效的,对u盘插到其它电脑无效。
作者: zqjiang    时间: 2010-4-24 17:22
致命的就是不支持U盘~   大多数都是U盘
作者: sratlf    时间: 2010-4-24 17:45
原帖由 fujianabc 于 2010-4-24 09:13 发表
select vol后面可以直接用盘符,不需要用数字了。



个人还是习惯用数字了  免的在PE下U盘没有分配盘符
作者: sratlf    时间: 2010-4-24 17:46
原帖由 dvd008 于 2010-4-24 12:50 发表
能不能写个分区的 BAT
这样就不用GUI了,那个280K,



这个有点难度  一直都使用adds分区  没有用diskpart分过   我尽量试试吧
作者: sratlf    时间: 2010-4-24 17:47
原帖由 zqjiang 于 2010-4-24 17:22 发表
致命的就是不支持U盘~   大多数都是U盘



支持U盘  不过前提是你的U盘需要量产成本地盘  也就是USB-HDD才行   我的几个U盘都是这么弄的  
作者: zqywult    时间: 2010-4-24 18:01
谢谢LZ!搞得真不错!!

我在XP SP3系统中试着运行LZ的批处理,没有提示版本过低,给我的U盘设置写保护,运行看起来正常,只是运行后无写保护效果,我的U盘仍然可写。

建议:前面加入系统版本过低的提示;
         最后加入设置写保护成功的提示;
这样就更完美了!!!
作者: sratlf    时间: 2010-4-24 18:05
标题: 回复 #13 zqywult 的帖子
晕  在最开始我已经提示了需要03以上系统或者2.0以上PE  

第一个建议对我来说不太可能  因为不知道怎么判断  

第二个建议倒是可行  不过实际上假如修改成功的话diskpart会自己返回卷属性修改成功的提示
作者: ziyun    时间: 2010-4-24 18:14
谢谢楼主分享,收藏备用了!
作者: chen39    时间: 2010-4-24 18:46
这个不错,以后就可以安心了
作者: fujianabc    时间: 2010-4-24 19:16
原帖由 sratlf 于 2010-4-24 18:05 发表
晕  在最开始我已经提示了需要03以上系统或者2.0以上PE  

第一个建议对我来说不太可能  因为不知道怎么判断  

用ver命令输出信息可以判断系统版本。
作者: sratlf    时间: 2010-4-24 19:54
标题: 回复 #17 fujianabc 的帖子
谢谢大大进行提示   

创建分区批处理完成后看看能不能加上判断
作者: sratlf    时间: 2010-4-24 23:48
0424 2326
应dvd008大要求用批处理调用diskpart来进行分区  因代码较长  下载见附件

目前实现的功能有显示磁盘、分区列表,主分区、扩展分区、逻辑分区的建立及删除

其中分区建立后会自动分配盘符并格式化

没有进行详细测试  只在我自己的虚拟机里测试没有问题  有兴趣的朋友可以帮忙测试下

友情提示:测试请尽量在虚拟机  实机测试请切勿在有重要资料的硬盘上进行
作者: dvd008    时间: 2010-4-25 13:21
原帖由 sratlf 于 2010-4-24 23:48 发表
0424 2326
应dvd008大要求用批处理调用diskpart来进行分区  因代码较长  下载见附件

目前实现的功能有显示磁盘、分区列表,主分区、扩展分区、逻辑分区的建立及删除

其中分区建立后会自动分配盘符并格式 ...


由于03的不行,加入XP的,名字不同即可,实现隐藏分区的分配盘符
附件是分区ID设置工具,命令行工具,分别调用不同的EXE,实现不同的功能

分区id修改工具dskptw.rar

27.81 KB, 下载次数: 57, 下载积分: 无忧币 -2


作者: h99h99    时间: 2010-4-25 14:49
设置好只读的u盘在任何其他pc上都只读吗?
作者: zqjiang    时间: 2010-4-25 17:45
原帖由 dvd008 于 2010-4-25 13:21 发表


由于03的不行,加入XP的,名字不同即可,实现隐藏分区的分配盘符
附件是分区ID设置工具,命令行工具,分别调用不同的EXE,实现不同的功能

dskptw 很强大  希望可以有个GUI 的
作者: dvd008    时间: 2010-4-25 18:53
GUI有人做过,两个版本.不过,比较大

另外

ADDS,WINPM10,WINHEX 的磁盘编辑都有这个功能

[ 本帖最后由 dvd008 于 2010-4-25 18:56 编辑 ]
作者: sratlf    时间: 2010-4-25 19:44
原帖由 h99h99 于 2010-4-25 14:49 发表
设置好只读的u盘在任何其他pc上都只读吗?



至少我的是这样的  量产的USB-HDD  修改只读后在其他机器上都是只读的
作者: h99h99    时间: 2010-4-25 21:33
原帖由 sratlf 于 2010-4-25 19:44 发表



至少我的是这样的  量产的USB-HDD  修改只读后在其他机器上都是只读的

那可以留一个自己可以写的文件夹吗?谢谢!
作者: zqjiang    时间: 2010-4-25 21:33
原帖由 dvd008 于 2010-4-25 18:53 发表
GUI有人做过,两个版本.不过,比较大

另外

ADDS,WINPM10,WINHEX 的磁盘编辑都有这个功能

请问还有没有下载的连接?
作者: sratlf    时间: 2010-4-25 23:00
原帖由 h99h99 于 2010-4-25 21:33 发表

那可以留一个自己可以写的文件夹吗?谢谢!



可以啊  我量产的时候是量产两个分区  一个是固定给PE用的  这个设置只读  另外一个就是普通存数据的  这个是正常读写的

或者比较麻烦的办法是只量产一个  平时都是只读的  需要写入东西时现解开  写入后再恢复只读
作者: h99h99    时间: 2010-4-26 07:56
原帖由 sratlf 于 2010-4-25 23:00 发表



可以啊  我量产的时候是量产两个分区  一个是固定给PE用的  这个设置只读  另外一个就是普通存数据的  这个是正常读写的

或者比较麻烦的办法是只量产一个  平时都是只读 ...



我想开放一个文件夹而不是分区为可写,其它均为只读,可以实现吗?
作者: sratlf    时间: 2010-4-26 09:50
标题: 回复 #29 h99h99 的帖子
那样的话就不太可能了  这是按分区来规定只读属性的
作者: dvd008    时间: 2010-4-26 18:11
你问过的执行后没提示,确实
但是,已经起作用了

我实机测试,本地硬盘
作者: sratlf    时间: 2010-4-26 19:43
标题: 回复 #31 dvd008 的帖子
不会吧  我也是实机测试啊  不过我是用第二块硬盘做实验的  执行后没有提示  

但是还是可以向里面写入文件  只是过了几秒以后PE提示缓存写入失败
作者: dvd008    时间: 2010-4-26 20:48
我两块硬盘,第一个测试,
是那样提示,重启,即可

不能写入,不能格式化

去掉,又正常了

没有什么问题
作者: sratlf    时间: 2010-4-26 23:15
标题: 回复 #33 dvd008 的帖子
那看来就是我没有重启的原因了  设置只读后就直接测试是否可写了
作者: ls68057121    时间: 2010-4-27 15:18
哦哦,郁闷咯
这样的话,需求话还是没能解决
作者: peak8    时间: 2010-5-28 09:32
现在对U盘点写保护,用软件还没实现么?
作者: xiaoyuan0417    时间: 2010-5-28 10:41
原帖由 fujianabc 于 2010-4-24 16:54 发表

对u盘插到其它电脑无效。


遗憾!!!!!
作者: zjq20032006    时间: 2010-5-28 11:52
可以的,有效,只要U盘量产为本地盘就可
作者: -_-    时间: 2010-5-28 12:55
请问后续如何解除写保护?
作者: sratlf    时间: 2010-5-28 13:13
标题: 回复 #39 -_- 的帖子
再运行一次批处理  按s设置写保护时不输入东西直接回车就是解除  有提示的
作者: peak8    时间: 2010-5-29 18:51
确实不支持U盘。

移动磁盘设置能写保护,但是,取消写保护我试了好几次才成功,不知道什么原因。
作者: sratlf    时间: 2010-5-29 22:02
标题: 回复 #41 peak8 的帖子
只支持量产为USB-HDD的U盘

用的什么系统?
作者: heho    时间: 2010-5-30 11:53
标题: 请那位给一个能用的diskpart.exe
找了很多个都不能运行呀,请那位给一个能用的diskpart.exe.........谢谢!
作者: fujianabc    时间: 2010-5-30 16:16
原帖由 heho 于 2010-5-30 11:53 发表
找了很多个都不能运行呀,请那位给一个能用的diskpart.exe.........谢谢!

不需要另外的diskpart.exe,2003 sp2以上系统自带的啊。
作者: heho    时间: 2010-5-30 16:35
标题: 回复 #44 fujianabc 的帖子
XP系统不行吗?谢谢你!或是更换一下diskpart.exe行不行?

[ 本帖最后由 heho 于 2010-5-30 16:38 编辑 ]
作者: fujianabc    时间: 2010-5-30 17:15
原帖由 heho 于 2010-5-30 16:35 发表
XP系统不行吗?谢谢你!或是更换一下diskpart.exe行不行?


要2003以上系统才支持此操作,早就说过xp不行的

作者: heho    时间: 2010-5-30 18:05
标题: 回复 #46 fujianabc 的帖子
知到了,谢谢!XP能行就好了
作者: kltwd    时间: 2010-6-1 08:30
支持  谢谢楼主
作者: zchou    时间: 2011-12-23 00:24
这个东西不错 ,有用
作者: 1610529729    时间: 2020-10-16 01:54
dd




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3