Si tengo un batch... cualquiera... como puedo hacer para que desde el mismo se inicie minimizado o minimizado en SYSTRAY?
o como colocar el
START /MIN
dentro del mismo batch y que funcione
agradezco su tiempo
No puedes minimizar la CMD al system tray...
Si abres la CMD como podrás comprobar no tiene ningun botón para minimizar al área de notificaciones... como mucho puedes instalar/utilizar algún reemplazamiento de terceros de la consola de Windows, con suerte quizás a alguna de esas "Custom CMD" le hayan integrado alguna opción para minimizar al systray... puedes buscar -> aquí (http://bit.ly/GJpH2Z)
Muestra el código en el que dices que no te funciona el switch "/MIN".
De todas maneras la sintaxis correcta es:
Start /MIN "" "Script.bat"
EDITO:
Si lo que pretendes es que el mismo script se inicie de forma minimizada cuando haces doble click sobre él, no es posible, la ventana del CMD no se inicia por defecto minimizada... y no existe ningún comando para minimizar la CMD...
Pero puedes disimularlo añadiendo esto a la cabecera del script:
IF "%~1" EQU "" (Start /MIN "" "%~f0" Elektro & Exit)
O puedes usar VisualBasicScript para iniciar la CMD de manera oculta.
Saludos
Y claro maestro si puedes optimizar el código... estaré aun mas feliz...
::START /MIN
:Comprobar
tasklist /FI "IMAGENAME eq mpc-hc.exe" | findstr PID >nul
IF %ERRORLEVEL% LEQ 0 cd %UserProfile%\Desktop\clever pause | clever.exe pause >nul | Taskkill /f /IM TxtTick.exe >nul & goto :Esperar
IF NOT %ERRORLEVEL% LEQ 0 goto :Comprobar
:Esperar
tasklist /FI "IMAGENAME eq mpc-hc.exe" | findstr PID >nul
IF %ERRORLEVEL% LEQ 0 goto :Esperar
IF NOT %ERRORLEVEL% LEQ 0 cd %UserProfile%\Desktop\clever pause | clever.exe pause >nul & goto :Comprobar
Cita de: EleKtro H@cker en 7 Octubre 2013, 22:45 PM
O puedes usar VisualBasicScript para iniciar la CMD de manera oculta
bien, de VBS no se mucho, pero habra alguna manera que inicie minimizado asi?
Suponiendo que mi archivo se llame:
CODIGO FINAL.bat
IF "%~1" EQU "" (Start /MIN "" "%~f0" CODIGO FINAL)
:Comprobar
tasklist /FI "IMAGENAME eq mpc-hc.exe" | findstr PID >nul
IF %ERRORLEVEL% LEQ 0 cd %UserProfile%\Desktop\clever pause | clever.exe pause >nul | Taskkill /f /IM TxtTick.exe >nul & goto :Esperar
IF NOT %ERRORLEVEL% LEQ 0 goto :Comprobar
:Esperar
tasklist /FI "IMAGENAME eq mpc-hc.exe" | findstr PID >nul
IF %ERRORLEVEL% LEQ 0 goto :Esperar
IF NOT %ERRORLEVEL% LEQ 0 cd %UserProfile%\Desktop\clever pause | clever.exe pause >nul & goto :Comprobar
disculpa que te lo pregunte en lugar de probarlo pero lo tengo en produccion y no puedo interrumpir la pc... :xD
gracias
sobre lo de la optimizaciónd e código, puedes probar algo así:
@Echo OFF
Set "ProcessName=mpc-hc64.exe"
:Comprobar
Tasklist /FI "IMAGENAME eq %ProcessName%" | Find /I "%ProcessName%" 1>NUL && (
(
Start /B "" "%UserProfile%\Desktop\clever pause\clever.exe" pause 1>NUL | Taskkill /F /T /IM "TxtTick.exe" 1>NUL
) & GOTO :Esperar
)
:Esperar
(
Tasklist /FI "IMAGENAME eq %ProcessName%" | Find /I "%ProcessName%" 1>NUL || (Goto :Esperar)
) && (
Start /B "" "%UserProfile%\Desktop\clever pause\clever.exe" pause 1>NUL
Goto :Comprobar
)
Pause&Exit
Aunque no lo he testeado, no tengo las herramientas y no se si la ruta del directorio es correcta.
sobre lo de VBS, es muy facil:
WScript.CreateObject("WScript.Shell").Run """" & "C:\Directorio\Archivo.bat" & """", 0, False
Lo guardas como "Invisible.vbs" y lo ejecutas.
Y esta modificación es para ejecutar un proceso de forma oculta y pasándole argumentos desde la consola.
Citar' Run Hidden Process
' By Elektro H@cker
Process = """" & WScript.Arguments(0) & """"
Arguments = null
For X = 1 to WScript.Arguments.Count - 1
Arguments = Arguments & " " & _
"""" & WScript.Arguments(X) & """"
Next
WScript.CreateObject("WScript.Shell").Run _
Process & " " & Arguments, 0, False
Wscript.Quit
Saludos