他のプログラムの出力に応じて異なる処理を行うバッチファイルを作成しようとしています。基本的に、最初のプログラムは、ハードドライブの暗号化ステータスに関する情報を出力します。ここでは、ドライブが暗号化されていないときWindowsバッチファイルのFOR/Fループのトラブル
S:\>beinvvol.exe xlc
------------------------------------------------------------------------
BEInvVol, Utimaco Safeware AG - A member of the Sophos Group
Decommissioning Tool for fully SGN-encrypted Volumes
------------------------------------------------------------------------
&Info: SGN filter driver off
&Info: Target log-file "S:\BEInvVol.log"
------------------------------------------------------------------------
Listing info for the target volume(s) -command xlc
Date: 2011-07-26 13:31:01
[Volume C:]
Drive Type: DRIVE_FIXED
[Boot Sector]
Media Type: Plain -not SGN
Media Label:
Media Serial Number: {8C19-DCCD}
File System: NTFS
Size: 232.88 GB
そして、ここでは、ドライブが
S:\>beinvvol.exe xle
------------------------------------------------------------------------
BEInvVol, Utimaco Safeware AG - A member of the Sophos Group
Decommissioning Tool for fully SGN-encrypted Volumes
------------------------------------------------------------------------
&Info: SGN filter driver off
&Info: Target log-file "S:\KeyDestroy\BEInvVol.log"
------------------------------------------------------------------------
Listing info for the target volume(s) -command xle
Date: 2011-07-26 12:41:48
[Volume E:]
Drive Type: DRIVE_FIXED
[Boot Sector]
Media Type: SGN -fully encrypted
SGN Media GUID: {83490018-50C3-B4E3-829E-ACE3B23C86D3}
File System: NTFS
Size: 298.09 GB
[KSA Original]
Sector Offset ..... 0x0000000000065ED8 (417496)
Byte Offset ....... 0x000000000CBDB000 (213757952)
Size in Sectors ... 0x15 (21)
Size in Bytes ..... 0x2A00 (10752)
[KSA Backup]
Sector Offset ..... 0x000000002542D660 (625137248)
Byte Offset ....... 0x0000004A85ACC000 (320070270976)
Size in Sectors ... 0x15 (21)
Size in Bytes ..... 0x2A00 (10752)
「XLC」と「XLE」引数は、ドライブを選択するためのもので暗号化されているとき、あなたが得るものですが出力されます。暗号化されていないドライブでは、「メディアタイプ:」と「プレーン - SGNなし」が表示され、暗号化されたドライバでは「SGN完全に暗号化」されていることがわかります
今、 「Plain -not SGN」と表示されたときにファイルの別の部分に移動するFOR/Fループを作成します。ここに私のバッチスクリプトは、これまでのところです:
@ECHO OFF
::Determine if drive is encrypted
FOR /F "tokens=3,4,5 delims= " %%A IN ('S:\beinvvol.exe xlc') DO IF /I "%%A%%B%%C"=="Plain-notSGN" GOTO NOTENCRYPTED
:ENCRYPTED
ECHO Yes
GOTO END
:NOTENCRYPTED
ECHO No
:END
は今、私の思考プロセスは、第三、第四、リスト内の5番目のトークンを取り、ある(私が興味のラインのために、第一のトークンは "になります2番目は「タイプ:」、3番目、4番目、5番目は「プレーン」「ノット」と「SGN」、「SGN」は「完全に」暗号化されている)文字列は "Plain-notSGN"(すべての文字列を連結するだけ)と等しくなります。ただし、これは機能しません。助言がありますか?
巧妙だということを。見たことがない&&と||前に一緒に使用されます。私は私のバッチスクリプトのいくつかに変更を加えるつもりだと思う= D – Mechaflash
ありがとう、私はこのバージョンが好きです!また、説明に感謝します。私はバッチファイルで作業を始めました。>>> &&&のようなあいまいな演算子は、 ||混じりやすい – romellem