标题: [系统相关] diskpart在批处理中不能自动执行下一条命令,求解决办法? [打印本页]
作者: wrz99 时间: 2011-10-23 14:57 标题: diskpart在批处理中不能自动执行下一条命令,求解决办法?
以下命令在存为.bat文件,不能执行下一条命令!
但是,手工打开CMD命令窗口,然后粘贴命令 就可以全部执行完成!坛子里的贴子我搜过,没有!
请尽量保持这我这个格式,以便我自已能看的懂!谢谢!复制代码
作者: wrz99 时间: 2011-10-23 15:02
这是我的硬盘分区!
作者: garyng 时间: 2011-10-23 15:32
放了@echo off就不用再每个命令前放@了!
Diskpart是跳出一个窗口出来的
这样子应该不可以的啦
还有
有谁敢拿自己的硬盘测试啊?
作者: powerbat 时间: 2011-10-23 15:50
管道
作者: wrz99 时间: 2011-10-23 15:52
放了@echo off就不用再每个命令前放@了!
Diskpart是跳出一个窗口出来的
这样子应该不可以的啦
还有
...
garyng 发表于 2011-10-23 15:32
哦,呵呵,谢谢指点,我是新手,很多东西都不了解!
我是在VM中测试的!我想只要能成功改一个分区,其它的想必也不成问题了!
作者: wrz99 时间: 2011-10-23 15:56
管道
powerbat 发表于 2011-10-23 15:50
兄弟,能否给个例子啊,批处理我连问都没入,官道对我来说更是天书啊!
作者: weichenxiehou 时间: 2011-10-23 17:08
回复 6# wrz99
可以把关键部分改成这样试试:- echo,(
- select disk 0
- select partition 2
- assign letter=D
- select disk 0
- select partition 3
- assign letter=E
- select disk 1
- select partition 1
- assign letter=G
- select disk 2
- select partition 2
- assign letter=J
- select disk 3
- select partition 1
- assign letter=I
- select disk 3
- select partition 3
- assign letter=R
- select disk 3
- select partition K
- assign letter=
- select disk 4
- select partition 1
- assign letter=H
- )|diskpart.exe
复制代码
这就是管道,把前面的内容喂给diskpart吃,没有亲自测试,所以不知道有用不。
作者: wrz99 时间: 2011-10-23 17:38
回复 wrz99
可以把关键部分改成这样试试:这就是管道,把前面的内容喂给diskpart吃,没有亲自测试,所以 ...
weichenxiehou 发表于 2011-10-23 17:08
已测试,不行!
作者: weichenxiehou 时间: 2011-10-23 17:56
回复 8# wrz99
那试试这个呢,不行的话我就没辙了:- echo,(
- select disk 0
- select partition 2
- assign letter=D
- select disk 0
- select partition 3
- assign letter=E
- select disk 1
- select partition 1
- assign letter=G
- select disk 2
- select partition 2
- assign letter=J
- select disk 3
- select partition 1
- assign letter=I
- select disk 3
- select partition 3
- assign letter=R
- select disk 3
- select partition K
- assign letter=
- select disk 4
- select partition 1
- assign letter=H
- )>temp.txt
- diskpart.exe<temp.txt
- del temp.txt
复制代码
作者: Batcher 时间: 2011-10-23 17:58
回复 8# wrz99
加上exit试试,参考:
http://bbs.bathome.net/thread-12907-1-1.html
作者: powerbat 时间: 2011-10-23 18:33
回复 7# weichenxiehou
echo可以这么用吗?不要想当然
作者: wrz99 时间: 2011-10-23 18:46
谢谢管理员,及weichenxiehou
可惜 还是不成功!
作者: lxzzr 时间: 2011-10-24 12:46
回复 12# wrz99
没你的实验环境,以前写过一个WIN7下的虚拟磁盘挂载的VBS脚本,用到了diskpart...
将下面的脚本存为*.VBS,试试,- On Error Resume Next
- Set WSObject = CreateObject("WScript.Shell")
- Set RunExec = WSObject.Exec("diskpart")
-
- 'RunExec.StdIn.WriteLine "select vdisk file=" & strVFilePath & ""
- 'RunExec.StdIn.WriteLine "detach vdisk"
-
- RunExec.StdIn.WriteLine "select disk 0"
- RunExec.StdIn.WriteLine "select partition 2"
- RunExec.StdIn.WriteLine "assign letter=D"
- RunExec.StdIn.WriteLine "select disk 0"
- RunExec.StdIn.WriteLine "select partition 3"
- RunExec.StdIn.WriteLine "assign letter=E"
- RunExec.StdIn.WriteLine "select disk 1"
- RunExec.StdIn.WriteLine "select partition 1"
- RunExec.StdIn.WriteLine "assign letter=G"
- RunExec.StdIn.WriteLine "select disk 2"
- RunExec.StdIn.WriteLine "select partition 2"
- RunExec.StdIn.WriteLine "assign letter=J"
- RunExec.StdIn.WriteLine "select disk 3"
- RunExec.StdIn.WriteLine "select partition 1"
- RunExec.StdIn.WriteLine "assign letter=I"
- RunExec.StdIn.WriteLine "select disk 3"
- RunExec.StdIn.WriteLine "select partition 3"
- RunExec.StdIn.WriteLine "assign letter=R"
- RunExec.StdIn.WriteLine "select disk 3"
- RunExec.StdIn.WriteLine "select partition K"
- RunExec.StdIn.WriteLine "assign letter="
- RunExec.StdIn.WriteLine "select disk 4"
- RunExec.StdIn.WriteLine "select partition 1"
- RunExec.StdIn.WriteLine "assign letter=H"
复制代码
作者: wrz99 时间: 2011-10-24 22:00
回复 wrz99
没你的实验环境,以前写过一个WIN7下的虚拟磁盘挂载的VBS脚本,用到了diskpart...
将下面的 ...
lxzzr 发表于 2011-10-24 12:46
谢谢!但还是不成功!
作者: andyrave 时间: 2011-10-25 13:12
本帖最后由 andyrave 于 2011-10-25 13:13 编辑
Microsoft DiskPart 语法:
diskpart [/s <script>] [/?]
/s <script> - 使用一个 DiskPart 脚本。
/? - 显示这个帮助屏幕。
把代码保存为脚本 例如 remove.txt
运行diskpart /s remove.txt
依次类推 保存脚本 并写出 批处理 diskpart /s 脚本- select disk 0
-
- select partition 2
-
- remove all
复制代码
作者: wrz99 时间: 2011-10-26 00:26
Microsoft DiskPart 语法:
diskpart [/s ] [/?]
/s - 使用一个 DiskPart 脚本。
...
andyrave 发表于 2011-10-25 13:12
这个用法我在网上找到的文章都是说这么用的,但是,我试了下,还是不能继续下去,实在不知为什么了,我明天再把里面所有无关的ECHO全去掉试试!
作者: andyrave 时间: 2011-10-26 19:44
回复 16# wrz99
diskpart>help remove
sample:- list disk
- select disk 0
- list volume
- select volume 3
- remove all
复制代码
作者: powerbat 时间: 2011-10-26 20:36
这么多人都不会用管道吗?- cmd /c "echo list disk&echo select disk 0&echo list partition" | diskpart
复制代码
作者: wrz99 时间: 2011-10-27 21:22
回复 wrz99
diskpart>help remove
sample:
andyrave 发表于 2011-10-26 19:44
这个也不行!
作者: wrz99 时间: 2011-10-27 21:22
这么多人都不会用管道吗?
powerbat 发表于 2011-10-26 20:36
兄弟,你这个只会显示出所选磁盘的分区信息,不会自动删除每个分区盘符啊!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |