Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Windows映像中特定体系结构的索引号_Windows_Batch File_Cmd_Dism - Fatal编程技术网

获取Windows映像中特定体系结构的索引号

获取Windows映像中特定体系结构的索引号,windows,batch-file,cmd,dism,Windows,Batch File,Cmd,Dism,我有一个包含多个体系结构的Windows7映像(WIM)。我想知道图像中特定体系结构的索引号 例如,图像包含(无特定顺序): Windows7终极版x64 Windows 7 Ultimate x86 Windows7专业版x64 Windows7专业版x86 Windows 7家庭高级版x64 Windows 7家庭高级x86 我没有上述版本的索引号 我想在我的Windows映像文件中检索Windows 7 Professional x64的索引号。我该怎么做: 到目前为止,我已经想到:

我有一个包含多个体系结构的Windows7映像(WIM)。我想知道图像中特定体系结构的索引号

例如,图像包含(无特定顺序):

  • Windows7终极版x64
  • Windows 7 Ultimate x86
  • Windows7专业版x64
  • Windows7专业版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

如果要直接测试
,请启用
延迟扩展
!错误等级
您最好将
/i
开关与
findstr
一起使用:

或者直接使用
&&

@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%

抱歉,这不起作用,因为它显示Windows 7 Ultimate x64映像位于索引1中,而实际上位于索引9中。我感觉到导致问题的错误级别。但是,不知道如何在不直接测试错误级别的情况下解决itOk检查我的编辑。仍然是相同的结果再次我用%%a更正了%%a,您是否有一个名为9.txt的文件,其中字符串为“Windows 7 Ultimate”和itI中的字符串为“x64”。我已经更正了%%a,然后在这里回复。如果您仔细阅读代码,我将使用“For”循环(1,1,12)参数,这将继续循环直到创建12.txt,同时如果我们的代码在9.txt中找到它的字符串,我必须退出循环。