[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

批处理如何在cmd中启动的程序下输入指令?

比如:
C:\>diskpart
DISKPART>help
DISKPART>exit
C:\>exit
这个要写成批处理的话应该怎么写呢?
a.bat:
diskpart
help
exit
exit
这样根本不行啊……

TOP

本帖最后由 CrLf 于 2012-2-28 03:50 编辑

diskpart 是一个有内部命令的命令,同时不支持命令行参数传递命令,所以要想使用 diskpart 的内部命令,有三种途径:
  1. 手工输入
  2. 将内容写入缓冲区再传递给它,比如来自进程的管道或者来自文件的重定向
  3. 使用 diskpart 脚本
复制代码
第一种办法就不说了,手工输入就失去批处理的存在意义了

第二种办法中的管道比较常用,好处是简单有效,缺点是拖速度,比如:
  1. @echo off
  2. more +3 %0|diskpart
  3. pause&exit
  4. help
  5. list
  6. rem 也可以echo help^&echo list|diskpart 用一句话搞定
复制代码
也可以用第三种办法,好处是灵活而且相对高效,而且在某些情况下甚至不需要临时文件,直接将批处理脚本自身当作 diskpart 脚本来运行即可:
  1. diskpart /s %0
复制代码

TOP

回复 3# CrLf
多谢~看来我要去学学管道了

TOP

返回列表