附加磁盘卷时运行计划的任务


0

我拥有Windows 10虚拟环境,经常需要将原始磁盘卷附加到虚拟机,然后diskpart在其上运行以对其进行初始化。我想我需要Window Task Scheduler来完成这项工作。所以这是步骤:

  1. 该卷由VM管理工具附加。
  2. 预定任务发现该卷已附加,然后运行diskpart脚本。

diskpart部分很简单,但是如何知道是否连接了卷?我认为这涉及将系统事件用作任务触发器,但是我应该关注哪些事件?

Diskpart逻辑

select disk 1
attribute disk clear readonly
online disk
convert mbr
create part primary
format quick
assign letter d:
exit

diskpart您到底要使用什么命令来挂载等?
Pimp Juice IT


Diskpart听起来不是一个非常安全的自动化工具。也许您应该只使用diskpart的/s标志将其作为脚本运行。(文件
Moshe Katz

@MosheKatz这就是我现在正在做的。
王鼎伟

Answers:


1

diskpart部分很简单,但是如何知道是否连接了卷?

您的DiskPart逻辑

select disk 1
attribute disk clear readonly
online disk
convert mbr
create part primary
format quick
assign letter d:
exit

您可以使用批处理脚本逻辑轻松地确认是否存在卷(ECHO如下所示的简单命令示例):

  • IF EXIST D:\ ECHO SUCCESS, 要么

  • IF NOT EXIST D:\ ECHO UNSUCCESSFUL

根据您的需要,此后通过确认此“ D”驱动器磁盘分区是否存在来相应地调整逻辑,因为您是通过diskpart为其分配了“ D”驱动器号的。

一般示例:

  1. IF [NOT] EXIST D:\ <SOME LOGIC BASED ON IF LOGIC RESULT>

因此,它必须先检测到它,然后执行diskpart

下面的脚本每30秒检查一次“ D”驱动器,仅运行逻辑,然后在找到逻辑后结束。

@ECHO ON

:Exist_Or_Not
PING -n 30 127.0.0.1 > nil
IF NOT EXIST D:\ GOTO :Exist_Or_Not
IF EXIST D:\ GOTO :Your_DiskPart_Logic

:Your_DiskPart_Logic
select disk 1
attribute disk clear readonly
online disk
convert mbr
create part primary
format quick
assign letter d:
exit

更多资源


也许我没有说清楚。我需要先检测该卷,然后执行diskpart ...
Wang Dingwei

@WangDingwei好的,上面的内容应该仍然起作用,即使用IF或IF NOT,然后根据这些结果,执行某些操作。换句话说,您将以IF NOT EXIST "D:\" <THEN DO SOMETHING WHEN THIS IS THE CASE TO MAKE IF RIGHT THEN>其他方式运行IF EXIST "D:\" <THEN I'M HAPPY SO DO THE HAPPY LOGIC>。您不是在这里要求火箭科学,所以要么决定,我是否需要知道它是否在那里,然后根据我对这个过程的逻辑,做点什么...很明显,先生,这会起作用,或者告诉您让我更加清楚地表明您没有公开。
Pimp Juice IT

@WangDingwei根据您的特定需求,根据需要使用IF或IF NOT条件逻辑。在运行diskpart命令之前还是之后运行逻辑使用它都没有关系。您应该能够将其与您解释的所有内容以及对此答案的评论一起使用。
Pimp Juice IT

您的逻辑仅在已连接卷的情况下才有效,但是在我的情况下,客户机OS不知道何时确切连接卷。因此,它必须先检测到它,然后执行diskpart。
王鼎伟

@WangDingwei我刚刚在回答的底部添加了以上逻辑,以解决该问题。抱歉,回复延迟,刚注意到上面的评论;不知道我怎么想念它。
Pimp Juice IT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.