我的项目中有一个要求,即云门户 我们可以在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
我希望这个文件可以帮助某人自动完成这个过程。请帮我完成它。
答案 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
行一样,除了因为我们想生成一个管道字符,我们只需要使用^
字符来转义它。