gpt4 book ai didi

command-line - 用于运行 DiskPart 的批处理文件

转载 作者:行者123 更新时间:2023-12-04 05:11:51 26 4
gpt4 key购买 nike

在尝试删除所有分区时,我正在尝试开发一个批处理文件来运行和删除 Windows 7 中的隐藏分区。通常我会在命令提示符窗口中逐行执行此操作,但我试图弄清楚如何创建批处理文件来运行并加快此过程。

这是我在命令提示符中键入的行。

disk part
Rescan
List Disk
Select Disk 3
List Partition
Select Partition 3
Delete Partition Override

我创建了一个 BAT 文件,但只能使第一个命令起作用。

最佳答案

这真的很容易,但是当我看到其他人的答案时,我想“为什么要以简单的方式做,而您却可以以困难的方式做”:D

好的,diskpart 是终端应用程序,这意味着它有自己的 CLI( c ommand l ine i nterface)。这意味着,如果您想将命令写入磁盘部件,则必须将其作为标准输入写入磁盘部件自己的 CLI( st andar d in put)。这就是为什么您不能通过批处理文件写入命令的原因,因为在 diskpart 退出后,您的 diskpart 命令将作为 cmd.exe 的下一个命令运行。

现在我们只需要对diskpart“撒谎”并将stdin模拟到他的CLI。

我们可以这样实现:

(echo Rescan
echo List Disk
echo Select Disk 3
echo List Partition
echo Select Partition 3
echo Delete Partition Override
) | diskpart
pause

因此,上面的代码执行以下操作:
  • echo 命令将生成标准输出( st andar d out put)。通常我们的命令行解释器 cmd.exe 只会在屏幕上打印出这个标准输出。 (您可以通过在 cmd.exe 中仅运行带括号 的回显命令 来尝试)
  • 然后,使用管道 |我们将这些 echo 命令的 stdout 重定向到 diskpart 应用程序。因此,来自 echo 的 stdout 现在将充当 diskpart 应用程序的 stdin。

  • 因此,您运行 diskpart,diskpart 从 echo 获取输入,就像从键盘获取输入一样,当然它可以工作!

    就是这样,简单易行的解决方案!

    关于command-line - 用于运行 DiskPart 的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16985518/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com