Page 1 sur 1

extraire nom dossier d'un lien

Posté : dim. 29 sept. 2024 18:57
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

Re: extraire nom dossier d'un lien  

Posté : dim. 29 sept. 2024 21:04
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)

Re: extraire nom dossier d'un lien

Posté : dim. 29 sept. 2024 23:32
par Gavriel
merci beaucoup

Re: extraire nom dossier d'un lien

Posté : mar. 01 oct. 2024 20:28
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

Re: extraire nom dossier d'un lien

Posté : mar. 01 oct. 2024 20:47
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

Re: extraire nom dossier d'un lien

Posté : mar. 01 oct. 2024 20:57
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

Re: extraire nom dossier d'un lien

Posté : jeu. 17 oct. 2024 23:28
par Tlem
Test message simple

Re: extraire nom dossier d'un lien

Posté : jeu. 17 oct. 2024 23:29
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)