AHK 7Zip Topic is solved

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

Moderator: Flipeador

romo64
Posts: 3
Joined: 26 Jan 2023, 16:58

AHK 7Zip

Post by romo64 » 26 Jan 2023, 17:03

Buenos dias, quisiera consultar un asunto sobre atajos para 7Zip, ya que mi trabajo me lleva a usar tal programa y diariamente me encuentro descompimiendo archivos, me surgio la necesidad de encontrar un atajo del "Extrac Here" para evitar usar el raton y hacer dos pasos mas, parece algo vago pero en la cantidad consume tiempo. Con un atajo de teclado seria mas simple solo tabular el archivo y apretar el atajo evitando el uso del rato.
Investigue en internet pero no encuentro nada que me sirva para crear tal atajo, ni en 7Zip me brindan la ayuda de ver.
Lo unico que consegui fue un post de este foro que cito:
viewtopic.php?t=5945

Pero no logro entender lo mencionado, y no es exactamente el "Extrac here" sino extraer dentro de otro folder.
Aguardo alguna ayuda para solucionar esto. Desde ya muchas gracias.

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

Re: AHK 7Zip  Topic is solved

Post by andymbody » 27 Jan 2023, 02:31

Updated 2023-01-27, 8:45am

Aquí hay dos métodos, pruebe ambos...

Seleccione el archivo zip en el Explorador de Windows, luego presione Ctrl+e o Ctrl+Shift+e

Code: Select all

#SingleInstance, force
global gSupportedExts := ".7z.zip.rar"		; add extensions to support (include preceeding period with each, no spaces!)
return

#IfWinActive, ahk_class CabinetWClass

; option 1 - use context menu
^e::	; Ctrl+e
	if (getFilePath()=="")
		return
	;SetKeyDelay, 30
	SendInput, {AppsKey}7ee{enter}	; extract here
	return

; option 2 - use command line
^+e::	; Ctrl+Shift+e
	fp := getFilePath()
	if (fp=="")
		return
	SplitPath, fp,, oDir
	7z	:= "C:\Program Files\7-Zip\7z.exe"	; change to path for 7zip executable
	cmd	:= """" . 7z . """" . " x " . fp . " -o" . oDir . " -y"
	Run, %cmd%,, Hide UseErrorLevel
	; add Errorlevel handling if desired
	return
	
#IfWinActive	
;################################################################################
isZipFile(srcFileName)
{
	SplitPath, srcFileName,,, oExt
	needle := "i)(?>(\.\w{2,4}))(?=.*\1)"
	haystack := gSupportedExts . " ." . oExt
	RegExMatch(haystack, needle, m)
	return (m != "")
}
;################################################################################
getFilePath()
{
	SendInput, ^c
	Sleep, 100
	fp := Clipboard	; convert to text path
	return isZipFile(fp) ? fp : ""	; verify that it is a zip file
}

User avatar
flyingDman
Posts: 2776
Joined: 29 Sep 2013, 19:01

Re: AHK 7Zip

Post by flyingDman » 27 Jan 2023, 14:40

AHK permite la descompresión de archivos zip utilizando FileCopyDir (https://www.autohotkey.com/docs/v1/lib/FileCopyDir.htm). 7zip no es necesario si solo usa archivos .zip.
14.3 & 1.3.7

romo64
Posts: 3
Joined: 26 Jan 2023, 16:58

Re: AHK 7Zip

Post by romo64 » 06 Feb 2023, 14:15

@andymbody
Hola ! Me sirvio el script, lo pude ejecutar y ahora con la tecla Ctrl+e puedo hacer uso del Extrac Here mucho mas agilmente.

Post Reply

Return to “Pedir Ayuda”