그래서 다른 프로그램의 출력에 따라 다른 작업을 수행 할 배치 파일을 만들려고합니다. 기본적으로 첫 번째 프로그램은 하드 드라이브의 암호화 상태에 대한 정보를 출력합니다. 여기에 드라이브가 여기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
암호화되지 않고 출력은 드라이브가 "XLC '와'XLE"인수
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)
를 암호화 할 때 드라이브를 선택해되어 무엇을 얻을이다. 그래서 암호화되지 않은 드라이브에서 "Media Type :"에 대해 "Plain -Not 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
, 내 생각 과정은, 내가 관심이있는 라인에 대한 목록에서 3, 4, 및 5 토큰을 (가지고, 1 토큰이 될 것 " 2 번째는 "Type :"이고, 3, 4, 5 번째는 "Plain" "-not"과 "SGN"또는 "SGN" "-fully" "encrypted"중 하나입니다) 문자열은 "Plain-notSGN"과 같습니다 (모든 문자열을 연결하는 것). 그러나 이것은 작동하지 않습니다. 어떤 제안?
의 그 :
또한 만&&
또는 유일한||
사용할 수 있습니다. 본 적이없는 && 및 || 전에 함께 사용. 나는 내 배치 스크립트 중 일부를 변경하려고한다고 생각한다. D – Mechaflash고마워,이 버전이 좋아! 또한 설명에 감사드립니다. 방금 배치 파일로 작업하기 시작했습니다. >> >> &&& | || 섞기 쉽다. – romellem