我最近在工作中创建了一个脚本来自动化一些流程。没什么特别的,只是分区和格式化 USB 硬盘。它有效,但我希望在实施中更加安全。
这是我现在的脚本:
@echo off
DISKPART /s C:\Format.txt
然后这是我的 txt 文件中的内容:
SELECT DISK 7
CLEAN
CREATE PARTITION PRIMARY SIZE=1024
SELECT PARTITION 1
ACTIVE
FORMAT FS=FAT32 LABEL="PARAGON" QUICK
ASSIGN LETTER=P
CREATE PARTITION PRIMARY SIZE=952842
SELECT PARTITION 2
ACTIVE
FORMAT FS=NTFS LABEL="Backup" QUICK
ASSIGN LETTER=Q
它工作得很好并且做了它应该做的事情。我唯一的问题是,如果有人没有事先检查,可能在连接 USB HDD 之前使用了 USB 记忆棒,那么它就不再是磁盘 7。
我希望它做的是从“列出磁盘”命令开始,这样我就可以看到我的硬盘有哪个驱动器号,然后输入“7”,例如,按 Enter 键,它应该使用磁盘 7 执行上述代码.
这有可能吗?感谢您的帮助!
已经尝试过谷歌搜索和阅读类似问题的答案,但无法使其发挥作用。
您无法将某些内容“注入”到正在运行的
diskpart
中,因此您需要两个步骤:第一步获取磁盘列表,然后询问用户所需的数量,然后另一个diskpart
“完成工作” .
您可以“即时”创建第二个
diskpart
的脚本:
@echo off
setLocal
>list.txt echo LIST DISK
diskpart /s list.txt
set /p "userchoice=Enter disk number: "
(
echo SELECT DISK %userchoice%
echo CLEAN
echo CREATE PARTITION PRIMARY SIZE=1024
echo SELECT PARTITION 1
echo ACTIVE
echo FORMAT FS=FAT32 LABEL="PARAGON" QUICK
echo ASSIGN LETTER=P
echo CREATE PARTITION PRIMARY SIZE=952842
echo SELECT PARTITION 2
echo ACTIVE
echo FORMAT FS=NTFS LABEL="Backup" QUICK
echo ASSIGN LETTER=Q
)>format.txt
diskpart /s format.txt
(未完全测试 - 出于显而易见的原因)