Diskpart批处理文件自动挂载并格式化磁盘

时间:2012-07-25 09:51:44

标签: batch-file

我的项目中有一个要求,即云门户 我们可以在Windows虚拟机中动态附加额外的磁盘。 为了自动安装,我写了一个批处理文件。它安装并格式化磁盘。 问题是它工作正常,但在Windows Server 2008虽然自动确认后格式化磁盘。虽然我的mount和format命令工作,并且磁盘已连接并转换为NTFS。但是那个对话框非常烦人...请帮我的批处理文件是这样的

@echo off 
rem # the following batch file is used to create dynamic disk , mount it and format it
echo>tempdiskpart.txt List disk
diskpart /s tempdiskpart.txt > tempdiskfilelist.txt
for /f "tokens=3" %%f in ('find /c /i "Disk" "tempdiskfilelist.txt"') do set isComplete=%%f
set /a total = %isComplete%-3

rem # code to find driver letter 
set /a diskNum =1
:loop
set w=s

if exist e:\nul echo. Disk in use

rem for %%p in (d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%p:\nul echo. %%p Disk in use
for %%p in (z y x w v u t s r q p o n m l k j i h g f e d) do if exist %%p:\nul echo. %%p Disk in use
for %%p in (z y x w v u t s r q p o n m l k j i h g f e d) do if not exist %%p:\nul echo. %%p Disk is available
for %%p in (z y x w v u t s r q p o n m l k j i h g f e d) do if not exist %%p:\nul set driveltr=%%p



 echo > tempdiskpart%total%.txt Select Disk %total%
 echo >> tempdiskpart%total%.txt convert dynamic
 echo >> tempdiskpart%total%.txt create volume simple Disk %total%
 echo >> tempdiskpart%total%.txt assign letter=%driveltr%
 diskpart /s tempdiskpart%total%.txt
 del tempdiskpart%total%.txt
 echo >tempdiskvolume%total%.bat 
 echo >>tempdiskvolume%total%.bat format %driveltr%: /v:Newdisk_%diskNum% /FS:ntfs /q
 echo Y |call tempdiskvolume%total%.bat 
 del tempdiskvolume%total%.bat

  set /a diskNum +=1
  set /a total -=1


  if %total% GTR 0 goto loop

   del tempdiskfilelist.txt
   del tempdiskpart.txt

我希望这个文件可以帮助某人自动完成这个过程。请帮我完成它。

1 个答案:

答案 0 :(得分:1)

您只需更改此行:

echo >>tempdiskvolume%total%.bat format %driveltr%: /v:Newdisk_%diskNum% /FS:ntfs /q

进入这个:

echo >>tempdiskvolume%total%.bat echo y ^| format %driveltr%: /v:Newdisk_%diskNum% /FS:ntfs /q

这就像echo Y |call tempdiskvolume%total%.bat行一样,除了因为我们想生成一个管道字符,我们只需要使用^字符来转义它。