[FUNC] _Conv_Carct_Dos

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
GELDROC
Niveau 6
Niveau 6
Messages : 295
Enregistré le : sam. 10 oct. 2009 10:15
Status : Hors ligne

[FUNC] _Conv_Carct_Dos

#1

Message par GELDROC »

bonjours voila une petite fonction qui permet de supprimer les espace d'un nom de fichier ou bien de dossier pour une invite de commande


Code : Tout sélectionner


#include <Constants.au3>
$CHEMIN = "C:"
$FIL_OR_FOLD = "1 op 2.txt"
MsgBox(0, $FIL_OR_FOLD, _Conv_Carct_Dos($FIL_OR_FOLD, $CHEMIN))




Func _Conv_Carct_Dos($FIL_OR_FOLD, $CHEMIN)
Local $iCMD1, $iV1, $iV2, $iV3 = "", $iV4, $iV5, $iV6, $iV7, $iV8, $iV9
If StringRight($CHEMIN, 1) <> "\" Then $CHEMIN = $CHEMIN&"\"
$iV1 = StringSplit($FIL_OR_FOLD, " ", 1)
If $iV1[0] <= 1 Then Return $FIL_OR_FOLD
If Not FileExists($CHEMIN&$FIL_OR_FOLD) Then Return 0
$iCMD1 = Run(@ComSpec&' /c dir /X "'&$CHEMIN&'"', $CHEMIN, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    While 1
        $iV2 = StdoutRead($iCMD1)
        If @error Then ExitLoop
        If $iV2 <> "" Then $iV3&= $iV2
    Wend
$iV4 = StringSplit($iV3, @CRLF, 1)
    For $iV5 = 1 To $iV4[0]
        $iV6 = StringSplit($iV4[$iV5], $FIL_OR_FOLD, 1)
        If $iV6[0] > 1 Then
            $iV7 = StringLen($iV6[1])
            $iV9 = $iV7
            For $iV8 = 1 To $iV7            
                If StringRight(StringLeft($iV6[1], $iV9), 1) <> " " Then
                    $iV6 = StringLeft($iV6[1], $iV9)
                    $iV7 = StringLen($iV6)
                    $iV9 = $iV7
                    For $iV8 = 1 To $iV7
                        If StringRight(StringLeft($iV6, $iV9), 1) = " " Then 
                            Return StringReplace(StringReplace($iV6, StringLeft($iV6, $iV9), ""), " ", "")
                        EndIf
                    $iV9 = $iV9-1
                    Next    
                EndIf
                $iV9 = $iV9-1
            Next    
        EndIf
    Next
EndFunc

 
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [FUNC] _Conv_Carct_Dos

#2

Message par Tlem »

Savez-vous que pour contourner le problème des espaces dans le nom de fichier ou de dossier, il existe la commande : FileGetShortName()
:roll:
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
GELDROC
Niveau 6
Niveau 6
Messages : 295
Enregistré le : sam. 10 oct. 2009 10:15
Status : Hors ligne

Re: [FUNC] _Conv_Carct_Dos

#3

Message par GELDROC »

oups merci baucoup
Répondre