标题: 批处理如何在cmd中启动的程序下输入指令? [打印本页]
作者: THEJIE.ORG 时间: 2012-2-27 18:51 标题: 批处理如何在cmd中启动的程序下输入指令?
比如:
C:\>diskpart
DISKPART>help
DISKPART>exit
C:\>exit
这个要写成批处理的话应该怎么写呢?
a.bat:
diskpart
help
exit
exit
这样根本不行啊……
作者: find 时间: 2012-2-27 19:29
http://www.bathome.net/thread-5579-1-1.html
http://www.bathome.net/thread-12907-1-1.html
http://www.bathome.net/thread-14470-1-1.html
作者: CrLf 时间: 2012-2-28 03:44
本帖最后由 CrLf 于 2012-2-28 03:50 编辑
diskpart 是一个有内部命令的命令,同时不支持命令行参数传递命令,所以要想使用 diskpart 的内部命令,有三种途径:- 手工输入
- 将内容写入缓冲区再传递给它,比如来自进程的管道或者来自文件的重定向
- 使用 diskpart 脚本
复制代码
第一种办法就不说了,手工输入就失去批处理的存在意义了
第二种办法中的管道比较常用,好处是简单有效,缺点是拖速度,比如:- @echo off
- more +3 %0|diskpart
- pause&exit
- help
- list
- rem 也可以echo help^&echo list|diskpart 用一句话搞定
复制代码
也可以用第三种办法,好处是灵活而且相对高效,而且在某些情况下甚至不需要临时文件,直接将批处理脚本自身当作 diskpart 脚本来运行即可:复制代码
作者: THEJIE.ORG 时间: 2012-2-28 19:09
回复 3# CrLf
多谢~看来我要去学学管道了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |