0

私のプロジェクトには要件があります。つまり、クラウドポータルには、Windows仮想マシンでオンザフライで追加のディスクを接続するためのプロビジョニングがあります。マウントを自動化するために、ディスクをマウントしてフォーマットするバッチファイルを作成しました。問題はそれが正常に動作することですが、Windows Server 2008では、ディスクのフォーマットを自動確認した後ですが。私のmountandformatコマンドは機能し、ディスクは接続されて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

このファイルが誰かがプロセスを自動化するのに役立つことを願っています。私がそれを完了するのを手伝ってください。

4

1 に答える 1

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行に似ていますが、パイプ文字を生成するため、文字を使用してエスケープする必要がある点が異なり^ます。

于 2012-07-26T00:08:36.787 に答える