Вы не можете использовать подстановочные знаки в нужном вам смысле, но вы можете достичь требуемого результата с помощью переменной подстроки :
if [%name:0,7%]==[Machine] start ...
Альтернативный подход заключается в использовании соответствующих функций в findstr
:
echo %name% | findstr /b /c:"Machine" && start ...
При этом используется внешняя программа, поэтому она менее эффективна в этом случае, но может оказаться полезной техникой для более сложных сопоставлений (например, использования findstr /r
).