Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ADV

#1
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....
#2
Hola que tal soy nuevo  espero poder ser claro y conciso para que me puedan ayudar en la corrección de este bat

Tengo un programa que con solo seleccionar un archivo .zip este abre su determinado programa para ejecutarlo.El problema que tengo es que debo colocando la dirección donde tengo los progrmas ejecutables,por daros un ejemplo

El programa Alfa solo puede ejecutar archivo 1alfa.zip
Esta es la direccion
C:\contador\Alfa\archivo\.*zip
C:\contador\Alfa\Alfa.exe

El programa Beta solo puede ejecutar archivos 1beta.zip
Esta es la direccion
C:\contador\Beta\archivo\.*zip 
C:\contador\Beta\Beta.exe

Entonces tal vez  si lanzaba por medio de un bat para que me pudiera ejecutar los progrmas alfa o beta, solo con seleccionar el archivo .zip. Este es el bat que se usa para poder llamar a a determinado programa con su archivo .zip

set ruta=%1%
set ruta=%ruta:~1,16%
if %ruta%==C:\contador\Alfa C:\contador\Alfa\Alfa.exe %1%
if %ruta%==C:\contador\Beta C:\contador\Beta\Beta.exe %1%


Lo extraño es que algunos amigos si les funciona pero usan windows ms dos, 98, mientras que yo uso windows 8, busque en internet y me tope que algunos comandos de bat solo funcionan en wind 98, 2000 y xp. Sera que ese podra ser el problema?????
Saludos.................
#3
Cita de: Eleкtro en 24 Febrero 2017, 01:50 AM
Hola. ¿Puedes intentar reformular la pregunta utilizando un dialecto comprensible sin dar por asumido que todo el mundo al que te dirijes sabe de lo que estás hablando con roms de Neogeo y emuladores de consolas?. Estamos en un foro de informática y programación, no en Emulatronia.com

¿Cual es tu duda con respecto a Batch y que relación tiene esa duda con el código que has mostrado?. Al principio parece que te refieras a la auto propagación, pero ya no sé a que te refieres...

¡Saludos!

Ok perdon, quiero crear varios archivos .bat a partir de un solo archivo bat teniendo como referencia la ruta de cada archivo
D:\MAME\kof98.zip
D:\MAME\kof99.zip
D:\MAME\kof2000.zip

En la cual cada bat contendra las siguientes lineas de comando
bat-1
***********************
@echo off
F:
cd\Mame
start /min Script.ahk
WinKawaks.lnk kof98.zip
exit

bat-2
*************************
@echo off
F:
cd\Mame
start /min Script.ahk
WinKawaks.lnk kof99.zip
exit
**************************

Descargue un vídeo en la cua lo que  hacían era copiar la ruta de acceso de todos los archivo luego pegaban la información en un archivo excel en la cual le agregaban algunos comando, luego copiaban la información del excel y la pegaban en un archivo bat lo ejecutaban y este generaba varios  .bat con la las lineas de comando anterior. Lo hice y me funciono por mala suerte mi hermano borro el vídeo en donde hacían el proceso.  Espero haberme podido explicar

#4
Vi en un video como un .bat crear otros archivo .bat copiando la ruta de acceso de cada elemento,  esto es lo que deberia contener cada bat. en el caso de mslug4 es lo que copian con la ruta de acceso de windows. Alguien podria ayudarme
Código (dos) [Seleccionar]
@echo off
F:
cd\Mame
start /min Script.ahk
WinKawaks.lnk mslug4
exit