2

複数のアーキテクチャを含む Windows 7 イメージ (WIM) があります。画像内の特定のアーキテクチャのインデックス番号を知りたいです。

たとえば、画像には以下が含まれます (順不同):

  • Windows 7 アルティメット x64
  • Windows 7 アルティメット x86
  • Windows 7 プロフェッショナル x64
  • Windows 7 プロフェッショナル x86
  • Windows 7 ホーム プレミアム x64
  • Windows 7 ホーム プレミアム x86

上記のバージョンのインデックス番号はありません

Windows イメージ ファイルで Windows 7 Professional x64 のインデックス番号を取得したいと考えています。これについてどうすればいいですか:

これまでのところ、私は思いついた:

if exist %TEMP%\scm (RD %TEMP%\scm /S /Q)
md %TEMP%\scm

for /L %%A IN (1, 1, 12) Do (

dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:%%A > %TEMP%\scm\%%A.txt
Findstr "Windows 7 Ultimate" %Temp%\scm\%%A.TXT && Findstr "x64" %Temp%\scm\%%A.TXT > nul
IF %ERRORLEVEL% == 0 (ECHO "It is Windows 7 Ultimate x64")

)

pause

以下の出力が得られます

H:\>for /L %A IN (1 1 12) Do (
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:%A  1>C:\Users\Tarak\AppData\Local\Temp\scm\%A.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\%A.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\%A.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:1  1>C:\Users\Tarak\AppData\Local\Temp\scm\1.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\1.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\1.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Details for image : h:\research\Win7x64\InstallWin7_aio\sources\install.wim
Name : Windows 7 Starter
Description : Windows 7 Starter
Size : 8,072,604,598 bytes
Version : 6.1.7601
ServicePack Build : 17514
Files : 46887
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:2  1>C:\Users\Tarak\AppData\Local\Temp\scm\2.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\2.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\2.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Details for image : h:\research\Win7x64\InstallWin7_aio\sources\install.wim
Name : Windows 7 Home Basic
Description : Windows 7 Home Basic
Size : 8,125,226,573 bytes
Version : 6.1.7601
ServicePack Build : 17514
Files : 47090
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:3  1>C:\Users\Tarak\AppData\Local\Temp\scm\3.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\3.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\3.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Details for image : h:\research\Win7x64\InstallWin7_aio\sources\install.wim
Name : Windows 7 Home Premium
Description : Windows 7 Home Premium
Version : 6.1.7601
ServicePack Build : 17514
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:4  1>C:\Users\Tarak\AppData\Local\Temp\scm\4.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\4.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\4.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Details for image : h:\research\Win7x64\InstallWin7_aio\sources\install.wim
Name : Windows 7 Professional
Description : Windows 7 Professional
Size : 8,447,825,392 bytes
Version : 6.1.7601
ServicePack Build : 17514
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:5  1>C:\Users\Tarak\AppData\Local\Temp\scm\5.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\5.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\5.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Details for image : h:\research\Win7x64\InstallWin7_aio\sources\install.wim
Name : Windows 7 Ultimate
Description : Windows 7 Ultimate
Size : 8,607,765,255 bytes
Version : 6.1.7601
ServicePack Build : 17514
Edition : Ultimate
Files : 48718
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo     /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:6 1>C:\Users\Tarak\AppData\Local\Temp\scm\6.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\6.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\6.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Details for image : h:\research\Win7x64\InstallWin7_aio\sources\install.wim
Name : Windows 7 Home Basic
Description : Windows 7 Home Basic
Size : 11,707,704,502 bytes
Version : 6.1.7601
ServicePack Build : 17514
Files : 64267
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:7  1>C:\Users\Tarak\AppData\Local\Temp\scm\7.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\7.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\7.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Details for image : h:\research\Win7x64\InstallWin7_aio\sources\install.wim
Index : 7
Name : Windows 7 Home Premium
Description : Windows 7 Home Premium
Version : 6.1.7601
ServicePack Build : 17514
Modified : 21-Apr-11 - 06:07:36
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:8  1>C:\Users\Tarak\AppData\Local\Temp\scm\8.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\8.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\8.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Details for image : h:\research\Win7x64\InstallWin7_aio\sources\install.wim
Name : Windows 7 Professional
Description : Windows 7 Professional
Version : 6.1.7601
ServicePack Build : 17514
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:9  1>C:\Users\Tarak\AppData\Local\Temp\scm\9.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\9.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\9.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Details for image : h:\research\Win7x64\InstallWin7_aio\sources\install.wim
Name : Windows 7 Ultimate
Description : Windows 7 Ultimate
Version : 6.1.7601
ServicePack Build : 17514
Edition : Ultimate
Directories : 13735
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo    /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:10  1>C:\Users\Tarak\AppData\Local\Temp\scm\10.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\10.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\10.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Error: 87
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:11  1>C:\Users\Tarak\AppData\Local\Temp\scm\11.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\11.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\11.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)  
Error: 87
"It is Windows 7 Ultimate x64"
0

H:\>(
dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:12  1>C:\Users\Tarak\AppData\Local\Temp\scm\12.txt
Findstr "Windows 7 Ultimate" C:\Users\Tarak\AppData\Local\Temp\scm\12.TXT   && Findstr "x64" C:\Users\Tarak\AppData\Local\Temp\scm\12.TXT  1>nul
IF 0 == 0 (ECHO "It is Windows 7 Ultimate x64" )
ECHO 0
)
Error: 87
"It is Windows 7 Ultimate x64"
0
4

1 に答える 1

2

delayed expansionを直接テストしたい場合は を有効にして!errorlevel!ください。/ifindstr

または直接使用&&

@echo off

if exist %TEMP%\scm (RD %TEMP%\scm /S /Q)
md %TEMP%\scm

for /L %%A IN (1, 1, 12) Do (

dism /Get-WimInfo /WimFile:h:\research\Win7x64\InstallWin7_aio\sources\install.wim /index:%%A > %TEMP%\scm\%%A.txt
Find /i "Windows 7 Ultimate" "%Temp%\scm\%%A.TXT" && Find /i "Architecture : x64" "%Temp%\scm\%%A.TXT" && (
      set "Index=%%A"
      goto:next
) 
)

exit/b

:next
ECHO "Windows 7 Ultimate x64" is in Index : %Index%
于 2016-09-25T15:50:57.980 に答える