关于 diskpart 不使用脚本文件 集中调用一组指令的方法
本帖最后由 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_186:}
@echo off
setlocal ENABLEDELAYEDEXPANSION
set n=0
for /f "delims=" %%c in ('
^(
for %%r in ^(
"list disk"
"list vol"
"sele disk 0"
"list disk"
"detail disk"
^) do @^(
echo %%~r
^)
^)^|diskpart
') do (
if "%%c"=="DISKPART> " (
set /a n+=1
echo.
echo.
echo **** 第 !n! 条 DISKPART 指令 *************************
echo.
)else (
if !n! geq 1 echo %%c
)
)
set /a n-=1
echo 共运行了 !n! 条指令.
pause
/s参数提前生成脚本,比较傻瓜化吧。
对于diskpart我没什么研究。很好的经验分享!
diskpart的主要问题是首次初始化慢,只是对比一下也比DG启动快。 nttwqz 发表于 2021-2-2 22:32
diskpart的主要问题是首次初始化慢,只是对比一下也比DG启动快。
我有一个n年前的ide 转 usb 的 易驱线,接入 usb 以后,运行 diskpart 就能慢到第二天的感觉。也不知道为啥。 dos时代菜鸟 发表于 2021-2-2 22:45
我有一个n年前的ide 转 usb 的 易驱线,接入 usb 以后,运行 diskpart 就能慢到第二天的感觉。也不知道 ...
第二天,哈哈哈哈哈哈哈哈。。。 像你们这样的,下象围棋应该是高手吧? 窄口牛 发表于 2021-2-3 06:35
像你们这样的,下象围棋应该是高手吧?
围棋 不会,象棋 倒是能玩几下 不错,很牛,终于解决了我一个拖了个很久的问题,牛人。 学习了,谢谢分享. 膜拜你,厉害!
页:
[1]