Hier ist mein CodeWindows-Batch: Wird Bedingung nicht bestätigt
ECHO off
CLS
ECHO List of VMs:
ECHO .............
cd /D "F:\VMs"
setlocal enabledelayedexpansion
set num=0
for /f "tokens=*" %%i in ('dir /s/b *.vmx') do set /a num+=1&set VM[!num!]=%%i
set numberOfVMs=0
for /F "tokens=2 delims==" %%s in ('set VM[') do (
set /a numberOfVMs+=1
echo !numberOfVMs! -^> %%s
)
ECHO.
ECHO List of Running VMs:
ECHO .....................
set num=-1
for /f "tokens=*" %%i in ('vmrun -T ws list') do (
set /a num+=1
if !num! NEQ 0 set RUNNINGVM[!num!]=%%i
)
set numberOfRunningVMs=0
for /F "tokens=2 delims==" %%s in ('set RUNNINGVM[') do (
set /a numberOfRunningVMs+=1
echo !numberOfRunningVMs! -^> %%s
)
ECHO.
ECHO List of Available VMs:
ECHO .......................
for /l %%x in (1, 1, %numberOfVMs%) do (
::echo !VM[%%x]!
for /l %%y in (1, 1, %numberOfRunningVMs%) do (
echo !VM[%%x]!
echo !RUNNINGVM[%%y]!
if "!VM[%%x]!"=="!RUNNINGVM[%%y]!" (
echo "success"
)
)
)
Array Varibale 'VM' hat unter Werte:
F: \ VMs \ PD-UI-Tests-Win10- x64-Office2016-32bit.vmwarevm \ Windows-10-x64.vmx
F: \ VMs \ PD-UI-Tests-Win10-x64-Office2016-64bit.vmwarevm \ Windows-10-x64.vmx
F: \ VMs \ PD-UI-Tests-Win7-x64-Offic e2013-32bit.vmwarevm \ Windows7-x64-RTM.vmx
Array Varibale 'RUNNINGVM' hat unterhalb der Werte:
F: \ VMs \ PD-UI-Tests-Win7-x64-Office2013-32bit .vmwarevm \ Windows7-x64-RTM.vmx
Aber die letzte if-Bedingung wird nie 'wahr', obwohl die VM [3] gleich RUNNINGVM [1] ist. Was vermisse ich? Bitte helfen Sie
Was ist der Ausgang? Wenn Sie das Echo direkt nach "Liste der verfügbaren VMs" einschalten, zeigt das etwas Interessantes? – jdigital