无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 5541|回复: 9

关于 diskpart 不使用脚本文件 集中调用一组指令的方法

[复制链接]
发表于 2021-2-2 21:44:26 | 显示全部楼层 |阅读模式
本帖最后由 dos时代菜鸟 于 2021-2-2 21:57 编辑

1.
diskpart 可以通过管道接收 一条cmd 命令传递过来的 diskpart 指令,但是如果是多条就不怎么奏效
2.
通常 对于一组多条的 diskpart 指令,我们是通过 /s 参数调用脚本或者通过管道方式 如:type 脚本文件|diskpart 来完成

/s 的好处是 有些diskpart 指令 有 noerr 参数,可以无视错误。但缺点是 需要预先生成 脚本文件再调用。

今天尝试用 for 向diskpart 传递一组指令成功。也可以把 for 传递给 diskpart 后把运行的结果再作为信息流 嵌套 for 进行分析处理。但是 要注意 嵌套 for 要有 单引号 和 ^ 对特定字符进行标记。

举一个例子,显摆一下:
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. set n=0
  4. for /f "delims=" %%c in ('
  5.         ^(
  6.                 for %%r in ^(
  7.                         "list disk"
  8.                         "list vol"
  9.                         "sele disk 0"
  10.                         "list disk"
  11.                         "detail disk"
  12.                 ^) do @^(
  13.                         echo %%~r
  14.                 ^)
  15.         ^)^|diskpart
  16. ') do (
  17.         if "%%c"=="DISKPART> " (
  18.                 set /a n+=1
  19.                 echo.
  20.                 echo.
  21.                 echo **** 第 !n! 条 DISKPART 指令 *************************
  22.                 echo.
  23.         )  else (
  24.            if !n! geq 1    echo %%c
  25.         )
  26. )
  27. set /a n-=1
  28. echo 共运行了 !n! 条指令.
  29. pause
复制代码


评分

参与人数 3无忧币 +15 收起 理由
sht123960585 + 5 很给力!
freesoft00 + 5
chishingchan + 5 很给力!

查看全部评分

发表于 2023-11-25 22:05:09 | 显示全部楼层
膜拜你,厉害!
回复

使用道具 举报

发表于 2023-11-22 10:39:13 | 显示全部楼层
学习了,谢谢分享.
回复

使用道具 举报

发表于 2022-3-5 01:38:31 | 显示全部楼层
不错,很牛,终于解决了我一个拖了个很久的问题,牛人。
回复

使用道具 举报

 楼主| 发表于 2021-2-3 08:32:12 | 显示全部楼层
窄口牛 发表于 2021-2-3 06:35
像你们这样的,下象围棋应该是高手吧?

围棋 不会,象棋 倒是能玩几下
回复

使用道具 举报

发表于 2021-2-3 06:35:19 来自手机 | 显示全部楼层
像你们这样的,下象围棋应该是高手吧?

点评

围棋 不会,象棋 倒是能玩几下  详情 回复 发表于 2021-2-3 08:32
回复

使用道具 举报

发表于 2021-2-2 22:46:21 | 显示全部楼层
dos时代菜鸟 发表于 2021-2-2 22:45
我有一个n年前的  ide 转 usb 的 易驱线,接入 usb 以后,运行 diskpart 就能慢到第二天的感觉。也不知道 ...

第二天,哈哈哈哈哈哈哈哈。。。
回复

使用道具 举报

 楼主| 发表于 2021-2-2 22:45:07 | 显示全部楼层
nttwqz 发表于 2021-2-2 22:32
diskpart的主要问题是首次初始化慢,只是对比一下也比DG启动快。

我有一个n年前的  ide 转 usb 的 易驱线,接入 usb 以后,运行 diskpart 就能慢到第二天的感觉。也不知道为啥。

点评

第二天,哈哈哈哈哈哈哈哈。。。  详情 回复 发表于 2021-2-2 22:46
回复

使用道具 举报

发表于 2021-2-2 22:32:58 | 显示全部楼层
diskpart的主要问题是首次初始化慢,只是对比一下也比DG启动快。

点评

我有一个n年前的 ide 转 usb 的 易驱线,接入 usb 以后,运行 diskpart 就能慢到第二天的感觉。也不知道为啥。  详情 回复 发表于 2021-2-2 22:45
回复

使用道具 举报

发表于 2021-2-2 22:18:18 | 显示全部楼层
/s参数提前生成脚本,比较傻瓜化吧。
对于diskpart我没什么研究。很好的经验分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 19:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表