자세히 설명하기 전에 PowerShell을 사용할 수없는 컴퓨터에서 스크립트를 실행해야하기 때문에 PowerShell을 사용하는 것이 옵션이 아니라는 사실을 강조하고 싶습니다.명령 출력에서 하위 문자열을 찾아 추출하는 방법은 무엇입니까?
Windows 컴퓨터에 설치된 Internet Explorer 버전을 확인하고 해당 버전에 따라 작동해야합니다.
지금까지 내 배치 스크립트는 다음과 같습니다
@echo off
setlocal
for /f "tokens=*" %%a in ('reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer" /v Version') do (set IEVerReg=%%a)
endlocal
당신은 내가 IEVarReg 변수에 reg query
출력을 할당하고 볼 수 있듯이.
윈도우 XP :
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
Version REG_SZ 8.0.6001.18702
윈도우 7 : 이상적으로
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
Version REG_SZ 9.0.8112.16421
, 나는 버전 번호에서 첫 번째 자리를 얻을하고 싶은 OUPUT는, 예를 다른 Windows 버전에서 다른
if
version == 8
then
execute this
elseif
version == 9
then
execute that
나는 어떻게 해야할지 알아낼 것입니다. if
한 번 부품 번호를 얻었으나 알아낼 수없는 부품 번호를 얻는 것입니다. 나는 bash, perl 등에서 쉽게 할 수 있지만 Windows 명령 행에 대해서는 전혀 모른다.
도움말은 대단히 감사하겠습니다.
추신. 나는 Jerold Schulman's script을 보았지만 너무 많은 전체 버전 번호를 반환합니다.
그렇게 명백하다! 감사! –