Ejecute archivos por lotes desde cualquier carpeta en Windows 7

Ejecute archivos por lotes desde cualquier carpeta en Windows 7

Tengo un archivo por lotes llamado CreateFolders.bat

El código es:

@echo off
md db in links output

¿Debo copiar el archivo por lotes a la carpeta específica antes de poder ejecutarlo? ¿Es posible de alguna manera tener opciones para ejecutar ese archivo por lotes específico mediante una tecla de acceso rápido o una opción de menú al hacer clic con el botón derecho del mouse?

¿Estoy soñando o es posible?

Respuesta1

Echa un vistazo atecla de acceso automáticoes muy flexible. Tienes que usar un poco de secuencias de comandos, pero no es tan difícil.

editar:Para agregar más detalles a la respuesta:

Lo primero que debes hacer es recibir la ruta usando argumentos en tu bat.

@echo off
md %1/mydir

Modifiqué este código que encontré aquí.Ruta de archivo de tecla de acceso automáticopara que puedas ejecutar un .bat en la ruta exacta que desees. El siguiente código utiliza el portapapeles para copiar la ruta en la que se encuentra actualmente.

F1::
MsgBox, % gst()  ; Path
F8::
Run C:\MyBat.bat % gst() ; Execute your bat receiving the path
return
F7::
Run C:\MyBat.bat,,Hide ; Execute your bat without seeing the black window
return

; GetSelectedText or FilePath in Windows Explorer  by Learning one 
gst()
{   
        IsClipEmpty := (Clipboard = "") ? 1 : 0
        if !IsClipEmpty 
        {
                ClipboardBackup := ClipboardAll
                While !(Clipboard = "") 
                {
                      Clipboard = 
                      Sleep, 10
                }
        }
        Send, ^c
        ClipWait, 0.1
        ToReturn := Clipboard, Clipboard := ClipboardBackup
        if !IsClipEmpty
        ClipWait, 0.5, 1
        Return ToReturn
}

donde F1, F7, F8 son las teclas que debes presionar para poder ejecutar tu programa

información relacionada