Copiar la ruta del explorador con separaciones entre los nombres de las carpetas

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Copiar la ruta del explorador con separaciones entre los nombres de las carpetas

Re: Copiar la ruta del explorador con separaciones entre los nombres de las carpetas

Post by cilniani » 16 Mar 2021, 05:23

Perfecto. Muchas gracias.

Re: Copiar la ruta del explorador con separaciones entre los nombres de las carpetas

Post by w0z » 14 Mar 2021, 08:58

Example:
con array

Code: Select all

F1::
	ControlGetText, ruta, ToolbarWindow323, A
	folder_array := StrSplit(ruta, "\")
	Resultado := folder_array[folder_array.MaxIndex()-2] " - " folder_array[folder_array.MaxIndex()-1] " - " folder_array[folder_array.MaxIndex()]

	MsgBox, % Resultado
Return
PD. Trata de no definir las variables con tildes ya que tienden a veces a dar errores.

Re: Copiar la ruta del explorador con separaciones entre los nombres de las carpetas

Post by sofista » 13 Mar 2021, 09:48

Sí, es posible. La forma más sencilla que se me ocurre es usar StrReplace. Demo:

Code: Select all

ruta := "C:\Program Files\Carpeta 1\Carpeta 2\Carpeta 3"
posición := InStr(ruta, "\", CaseSensitive := false, StartingPos := -1, Occurrence := 3)
MsgBox, % StrReplace(SubStr(ruta, posición+1),"\"," - ")

; Output:

; Carpeta 1 - Carpeta 2 - Carpeta 3

Copiar la ruta del explorador con separaciones entre los nombres de las carpetas

Post by cilniani » 13 Mar 2021, 08:07

Hola a todos.

Estoy usando este script para copiar la ruta del explorador, pero únicamente de las tres últimas carpetas del árbol de carpetas:

Code: Select all

ControlGetText, ruta, ToolbarWindow323, A
    posición := InStr(ruta, "\", CaseSensitive := false, StartingPos := -1, Occurrence := 3)
    ruta :=  SubStr(ruta, posición+1) ;
    Clipboard := ruta
El problema es que, aunque copia correctamente la ruta de carpetas, lo hace con el nombre de todas las palabras juntas, es decir, si tengo una ruta del tipo "carpeta 1"-"carpeta 2"-"carpeta 3", el resultado es del script es "carpeta 1carpeta 2carpeta 3". Lo que yo quisiera es que el nombre de cada carpeta estuviera separado por un espacio y un guión de ésta forma "carpeta 1 - carpeta 2 - carpeta 3".

¿Es posible hacerlo?

Saludos y gracias.

Top