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