extraire nom dossier d'un lien

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Gavriel
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mer. 07 déc. 2016 22:29
Status : Hors ligne

extraire nom dossier d'un lien

#1

Message par Gavriel »

bonjour
comment on extrait le nom d'un dossier d'un lien
exemple
C:\AllMyTube Converted\AllMyTube Converted\test
je voudrait recupere dans une valeur le dossier test
merci de votre aide
Avatar du membre
Nine
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 122
Enregistré le : ven. 17 avr. 2020 01:23
Localisation : Montréal, Québec
Status : Hors ligne

Re: extraire nom dossier d'un lien  

#2

Message par Nine »

Si je comprends bien ta demande, tu veux extraire le texte suivant le dernier backslash d'un chemin d'accès à un répertoire. Alors voici une façon :

Code : Tout sélectionner

#include <Constants.au3>

Local $sPath = "C:\AllMyTube Converted\AllMyTube Converted\test"

Local $sDir = StringRegExp($sPath, "(?:.*\\)?(.+)", $STR_REGEXPARRAYMATCH)[0]
ConsoleWrite($sDir & @CRLF)
Gavriel
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mer. 07 déc. 2016 22:29
Status : Hors ligne

Re: extraire nom dossier d'un lien

#3

Message par Gavriel »

merci beaucoup
Gavriel
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mer. 07 déc. 2016 22:29
Status : Hors ligne

Re: extraire nom dossier d'un lien

#4

Message par Gavriel »

encore une petite question avec se code j'obtien a la fin du nom \
"test\" comment faire pour obtenir seulment "test" sans le symbol \
merci
Avatar du membre
Nine
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 122
Enregistré le : ven. 17 avr. 2020 01:23
Localisation : Montréal, Québec
Status : Hors ligne

Re: extraire nom dossier d'un lien

#5

Message par Nine »

ça requiert un petit changement d'approche. Le dernier \ est donc optionnel.

Code : Tout sélectionner

#include <Constants.au3>

Local $aPath = ["C:\AllMyTube Converted\AllMyTube Converted\test", _
                "C:\AllMyTube Converted\AllMyTube Converted\test\"]
Local $sDir

For $i = 0 To UBound($aPath) - 1
  $sDir = StringRegExp($aPath[$i], "(?:.*\\)?([^\\]+)", $STR_REGEXPARRAYMATCH)[0]
  ConsoleWrite($sDir & @CRLF)
Next
Gavriel
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mer. 07 déc. 2016 22:29
Status : Hors ligne

Re: extraire nom dossier d'un lien

#6

Message par Gavriel »

merci infiniment
j ai essayer de le faire tout seul avec le help. mais j'ai vite compris que je n'ai pas compris grand chose.
merci encore une fois
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: extraire nom dossier d'un lien

#7

Message par Tlem »

Test message simple
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: extraire nom dossier d'un lien

#8

Message par Tlem »

Code : Tout sélectionner

#include <GuiListView.au3>
#include <Array.au3>

$hListView = ControlGetHandle("[CLASS:Progman]", "", "[CLASS:SysListView32;INSTANCE:1]")
If @error Then
	MsgBox(64, "Error..", "Unable to get desktop handle.", 3)
	Exit
Else

	$iIconCount = _GUICtrlListView_GetItemCount($hListView)
	If $iIconCount > 0 Then
		Dim $aIconPos[$iIconCount][3]
		For $i = 0 To UBound($aIconPos, 1) - 1
			$aIconPos[$i][0] = _GUICtrlListView_GetItemText($hListView, $i)
			$aIconPos[$i][1] = _GUICtrlListView_GetItemPositionX($hListView, $i)
			$aIconPos[$i][2] = _GUICtrlListView_GetItemPositionY($hListView, $i)
		Next
	Else
		ConsoleWrite("No desktop icons found.")
		Exit
	EndIf
EndIf

_ArrayDisplay($aIconPos)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre