Cita de: Eleкtro en 2 Mayo 2017, 23:35 PM
El código actual que tienes es muy propenso a poder producir un error de sintaxis en el futuro por la ausencia de agrupación de comandos a la derecha de las condicionales. Es mejor que expandas la variable de argumento %1 y encierres debidamente todas las expresiones entre comillas dobles y uses los operadores de agrupación de comandos correspondientes.
Así te debería funcionar sin problemas:Código (dos) [Seleccionar]@Echo Off
Set "dir=%~dp1"
Set "dir=%dir:~0,16%"
If /I "%dir%" EQU "C:\contador\Alfa\" (Start /B "Alfa" "%dir%\Alfa.exe" "%~f1")
If /I "%dir%" EQU "C:\contador\Beta\" (Start /B "Beta" "%dir%\Beta.exe" "%~f1")
Exit
PD: La validación de sintaxis entre versiones antiguas de Windows es algo distinta.
¡Saludos!
Gracias amigo me ha funcionado al 100%, no cuento con mucho conocimiento en lenguaje de bat, pero buscando en esta pagina y estudiando y poco he podido aprender un poco, si tubieras un poco de tiempo me podrías explicar estas lineas de color azul
Set "dir=%~dp1"
If /I "%dir%" EQU "C:\contador\Alfa\" (Start /B "Alfa" "%dir%\Alfa.exe" "%~f1")
Es que en el caso de dp1 no logro poder apreciar como funciona en la linea del if al igual que "%~f1", /b.
Y de nuevo gracias
Saludos....