Board logo

标题: [系统相关] [已解决]BAT怎么对硬盘(分区)写保护? [打印本页]

作者: AKB400    时间: 2013-6-12 22:29     标题: [已解决]BAT怎么对硬盘(分区)写保护?

求一BAT。
情景:
同一机子上接上3个移动硬盘,假设不知分区盘符,批处理调用diskpart进行设定某一移动硬盘的写保护。
BAT要求:
1、能够自由输入盘符
2、能够选择“写保护”、“取消写保护”
3、显示1、2的信息或系统的反馈信息
4、添加“直接退出”,返回【上一条命令】选项
5、批处理默认管理员运行


zhidao.baidu.com/question/140638743.html?fr=qrl&index=0
  1. @echo off
  2. >scrip.txt echo list vol
  3. diskpart<scrip.txt
  4. set /p num=请输入卷编号:
  5. set /p act=请输入操作代码[写保护开-0,写保护关-1]:
  6. set a0=set
  7. set a1=clear
  8. call set act=%%a%act%%%
  9. >scrip.txt echo select vol %num%
  10. >>scrip.txt echo att vol %act% readonly
  11. diskpart<scrip.txt
  12. del script.txt
  13. pause
复制代码
上面的代码,在我的电脑里双击运行就只有cmd(win7),右键管理员运行才能运行diskpart。运行结束时,想去掉"diskpart>找不到……"这一句话。

谢谢各大神的指点!

2013-06-13-21-29更新:
之前的要求
    第3点,diskpart命令执行过程中已经有显示。
    第4点,输入错的话,X掉重新运行BAT。
    第5点,用bat to exe converter软件解决。
   

最终的成品[attach]6421[/attach]


作者: Python    时间: 2013-6-13 08:33

请把你自己写的diskpart命令对某个指定盘符进去写保护的代码贴出来,我帮你完成其它的需求。
作者: AKB400    时间: 2013-6-13 10:48

回复 2# Python

请指正!
作者: Python    时间: 2013-6-13 10:55

本帖最后由 Python 于 2013-6-13 11:14 编辑

回复 3# AKB400


运行结束时,想去掉"diskpart>找不到……"这一句话。

单词拼写错误,我帮你更正一下:
  1. @echo off
  2. >script.txt echo list vol
  3. diskpart<script.txt
  4. set /p num=请输入卷编号:
  5. set /p act=请输入操作代码[写保护开-0,写保护关-1]:
  6. set a0=set
  7. set a1=clear
  8. call set act=%%a%act%%%
  9. >script.txt echo select vol %num%
  10. >>script.txt echo att vol %act% readonly
  11. diskpart<script.txt
  12. del script.txt
  13. pause
复制代码

作者: AKB400    时间: 2013-6-13 11:12

回复 4# Python
第12行的
del scriptt.txt
多了个“t”
还有,怎么默认以管理员身份运行?
作者: Python    时间: 2013-6-13 11:15

回复 5# AKB400


    已更正。你是Win7系统吗,UAC关闭了没有?
作者: AKB400    时间: 2013-6-13 12:15

回复 6# Python
没有,感觉有用。BAT不能调用管理员权限吗?
作者: Python    时间: 2013-6-13 12:48

回复 7# AKB400


    你先关掉试试再说
作者: AKB400    时间: 2013-6-13 14:27

回复 8# Python

关闭UAC能双击就运行diskpart,,




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2