[SOLUCIONADO] exec: "cmd": executable file not found in %PATH%

Hacia tiempo que no tenía problemas y he aquí que me he topado con uno sin venir a cuento. Os pongo en situación.

Trabajo generalmente con dos versión de IDE, la 1.8.5 y la 1.8.7. Tengo dos versiones "portables", hechas tal y como indico en la documentación: Haciendo el IDE de Arduino Portable

El motivo, simple, lo que funciona bien en una, da problemas en la otra o viceversa. Así por ejemplo en la 1.8.5 doy soporte para los cores pequeños: atTinyCore, majorCore, etc; y en la versión 1.8.7 doy soporte para el ESP8266.

Hasta el momento sin problemas.

Pero hoy he querido hacer el diseño de un circuito (un tester RJ45) y lo primero era probar algo de código. Me pongo a escribir, le doy a compilar y... error!.

exec: "cmd": executable file not found in %PATH%
Error compilando para la tarjeta ATtiny24/44/84.

Oh vaya!. Algo pasa. No he actualizado la libreria desde hace mucho y al intentar actualizar me da fallo en el gestor de tarjetas.

Vale, pues lo intento con la 1.8.7. Instalo la libreria hago el programa y al compilar... error!.

exec: "cmd": executable file not found in %PATH%
Error compilando para la tarjeta ATtiny24/44/84.

Uhmmm... me mosqueo... vale intentaré con la 1.8.10, me la descargo, la hago portable... le instalo la libreria, hago el programa, compilo y... error!

exec: "cmd": executable file not found in %PATH%
Error compilando para la tarjeta ATtiny24/44/84.

"suspiro", "suspiro", me descargo la versión 1.8.0 instalable, la instalo, hago lo mismo con la libreria, programa y compilo... error!

exec: "cmd": executable file not found in %PATH%
Error compilando para la tarjeta ATtiny24/44/84.

No uso nada raro en el programa:

const uint8_t pins[8] = { 0, 1, 2, 3, 4, 5, 6, 7 };
uint8_t  i;
uint32_t t;
uint8_t  p;

void setup() {
  p=0;
  for (i=0; i<8; i++) {
    pinMode(pins[i], OUTPUT);
    i==p ? digitalWrite(pins[i], HIGH) : digitalWrite(pins[i], LOW) ;
  }
  
}

void loop() {
  if ( millis()-t > 1000 ) {
    p++;
    if ( p==8 ) p=0;
    for (i=0; i<8; i++) {
      i==p ? digitalWrite(pins[i], HIGH) : digitalWrite(pins[i], LOW) ;
    }
    t = millis();
  }
}

¿Ha alguien le ha pasado alguna vez?

PD. He pegado todo el código de error en un archivo, como es demasiado grande lo dejo como attachment.

error.txt (25 KB)

Creo que he resuelto el problema.

He estado mirando y me faltaba la ruta "c:\windows\system32" en el PATH. La he añadido y todo corriendo como debe ser.