http://bugs.winehq.org/show_bug.cgi?id=27088
Jason Edmeades us@edmeades.me.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |us@edmeades.me.uk
--- Comment #4 from Jason Edmeades us@edmeades.me.uk 2012-11-04 18:04:16 CST --- Issues with else.exe, do.exe are nearly always because the partexecute code has not been driven to advance the end position on. I believe most of those are now resolved (you can still get them with invalid syntax in the for loop at the moment, but assuming the batch commands are 'valid').
The attached logs showed:
1. if xxx EQU yyy - This should now be fixed in recent builds as the new if operator support was added by Frederik This led to trace:cmd:WCMD_run_program Found as L"C:\windows\ELSE.*" File not found. because the if wasnt parsed due to the error so the 'ELSE' was assumed to be a program
2. for /f "tokens=3-7 delims=[]. " %%v in ('ver') do ( for /f support was totally broken, and nearly works now (tokens= is this weeks project). This would have fallen over anyway...
3. 'ver' program does not exist trace:cmd:WCMD_run_program Found as L"C:\windows\'ver.*" File not found.
I think (1) is fixed, (2) is in the process of being fixed, and once done you just need a working 'ver' command in wine... It's expecting a build level in square brackets (e.g. Microsoft Windows [Version 6.1.7600]) and parses it... For this to work (and this could be a challenge to get into wine), the 3rd token ("Version"), the 4th ("6") and 6th ("7600") are looked at (assuming 6.) to ensure a minimum build level I think.
I'll fix (2) first (bug 21047) and lets look at what is left