codigo para obtener la ruta de una carpeta

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

Velasquez
Posts: 2
Joined: 02 Jan 2023, 13:41

codigo para obtener la ruta de una carpeta

Post by Velasquez » 03 Jan 2023, 19:32

buenas necesito un codigo para obtener la ruta de una carpeta presiando un tecla. sea donde sea que me encuentre. Por ejemplo si me voy a la unidad c:/musica al presionar que me salga un msgbox "c:/musica" si estoy en la D:/peliculas/accion que me salga un msgbox "D:/peliculas/accion ".. y asi, espero se entienda . Para autohotkey V1 y win7

User avatar
andymbody
Posts: 996
Joined: 02 Jul 2017, 23:47

Re: codigo para obtener la ruta de una carpeta

Post by andymbody » 03 Jan 2023, 20:03

¿Qué estás usando para navegar a la carpeta? ¿Explorador de Windows, símbolo del sistema u otro?

sofista
Posts: 654
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: codigo para obtener la ruta de una carpeta

Post by sofista » 03 Jan 2023, 20:13

Para mí lo más simple es copiar la carpeta y extraer la dirección, previo a establecer que el objeto seleccionado es una carpeta. Por ejemplo:

Code: Select all

q::
Clipboard := ""
SendInput, ^c
ClipWait
Dir := RTrim(Clipboard, "`r`n")
If InStr(FileExist(Dir), "D")
	MsgBox, % Dir
else
	MsgBox, No seleccionaste una carpeta
return
Probado en AutoHotkey v1.1.36.02 / Win10

garry
Posts: 3795
Joined: 22 Dec 2013, 12:50

Re: codigo para obtener la ruta de una carpeta

Post by garry » 04 Jan 2023, 04:38

function in WIN11

Code: Select all

!h::
dirx:=cmdHere()
msgbox,%dirx%
;Runwait, %COMSPEC% /k dir "%dirx%"
return
;---------------------------------
cmdHere() 
{
    dirx:=""
    If WinActive("ahk_class CabinetWClass") || WinActive("ahk_class ExploreWClass") 
	{
        WinHWND := WinActive()
        For win in ComObjCreate("Shell.Application").Windows
            If (win.HWND = WinHWND) 
			{
                dirx := SubStr(win.LocationURL, 9)    ;- remove "file:///"
                dirx := RegExReplace(dirx, "%20", " ")
				stringreplace,dirx,dirx,/,\,all
                Break
            }
    }
if dirx=
   dirx:=a_desktop
return,dirx	
}

gmoises
Posts: 75
Joined: 18 Nov 2017, 16:43

Re: codigo para obtener la ruta de una carpeta

Post by gmoises » 04 Jan 2023, 20:14

El atajo de File Explorer para sacar el path del archivo seleccionado es:
Shift+Ctrl+P – Copy current path to the clipboard

Sabiendo ésto, es fácil escribir un Script
digamos que escogemos la tecla F9

Code: Select all

#IfWinActive ahk_class CabinetWClass ahk_exe explorer.exe
	F9::
		SendInput, ^+P
		Sleep, 50
		MsgBox % Clipboard
	Return
#If

garry
Posts: 3795
Joined: 22 Dec 2013, 12:50

Re: codigo para obtener la ruta de una carpeta

Post by garry » 06 Jan 2023, 10:04

@gmoises , gracias , no tuvo éxito con ctrl+shift+P ( está bien = Ctrl + Mayús + N > Crear una carpeta nueva )
https://support.microsoft.com/es-es/windows/m%C3%A9todos-abreviados-de-teclado-de-windows-dcc61a57-8ff0-cffe-9796-cb9706c75eec

Code: Select all

---------------------
https://support.microsoft.com/es-es/windows/m%C3%A9todos-abreviados-de-teclado-de-windows-dcc61a57-8ff0-cffe-9796-cb9706c75eec
--  Métodos abreviados de teclado de Windows - Soporte técnico de Microsoft

>> EXPLORADOR de ARCHIVOS   =

Alt + D
Seleccionar la barra de direcciones.

Ctrl + E
Seleccionar el cuadro de búsqueda.

Ctrl + F
Seleccionar el cuadro de búsqueda.

Ctrl + N
Abrir una ventana nueva.

Ctrl + W
Cierre la ventana activa.

Ctrl + rueda del ratón
Cambiar el tamaño y la apariencia de los iconos de archivos y carpetas.

Ctrl + Mayús + E
Mostrar todas las carpetas situadas sobre la carpeta seleccionada.

Ctrl + Mayús + N
Crear una carpeta nueva.

Bloq Num + asterisco (*)
Mostrar todas las subcarpetas de la carpeta seleccionada.

Bloq Num + signo más (+)
Mostrar el contenido de la carpeta seleccionada.

Bloq Num + signo menos (-)
Contraer la carpeta seleccionada.

Alt + P
Mostrar el panel de vista previa.

Alt + Entrar
Abrir el cuadro de diálogo Propiedades del elemento seleccionado.

Alt + Flecha derecha
Ver la carpeta siguiente.

Alt + Flecha arriba
Ver la carpeta que contenía la carpeta.

Alt + Flecha izquierda
Ver la carpeta anterior.

Retroceso
Ver la carpeta anterior.

Flecha derecha
Mostrar la selección actual si está contraída o seleccionar la primera subcarpeta.

Flecha izquierda
Contraer la selección actual si está expandida o seleccionar la carpeta que contenía la carpeta.

Fin
Mostrar la parte inferior de la ventana activa.

Inicio
Mostrar la parte superior de la ventana activa.

F11
Maximizar o minimizar la ventana activa.
------------------

Post Reply

Return to “Pedir Ayuda”