OVH Cloud OVH Cloud

Erreur 75 avec RmDir

14 réponses
Avatar
Pascal
bonsoir,
une petite aide bienvenue, ne comprends pas pourquoi la suppression d'un
dossier (avec RMDIR) me génère une erreur 75 (Erreur dans le Chemin d'accèsà
??????????
Toute idée bienvenue
Merci
Pascal

voici le code :

Private Sub cmdSupprimerAlbum_Click()
Dim DossierSup As String

'chemin = d:\MonDossier
'initialise le dossier a supprimer
DossierSup = Chemin & "\" &
Me.ListView1.ListItems(ListView1.selectedItem.Index)

rep = MsgBox("vous avez choisi de supprimer :" & vbCrLf &
Me.ListView1.ListItems(ListView1.selectedItem.Index) & vbCrLf & vbCrLf & _
"Vous confirmez ce choix ?", vbYesNo, "Suppression")
If rep = vbYes Then
'supprime tous les fichiers du dossier
Kill DossierSup & "\*.*"
'enleve l'attribut lecture seule du dossier
SetAttr DossierSup, vbNormal
'supprime le dossier
RmDir DossierSup
End If
'Rafraichit la listView
Call ShowRep

End Sub

4 réponses

1 2
Avatar
Pascal
Hello,
oui pour bloc note pas de problème et aucun prog en process
mais prob résolu (procédure différente) voir dans ce post 13:49
merci à toi tu m'as ouvert les yeux
super sympa


"Gloops" a écrit dans le message de
news:
Ah, ça change tout.
Vérifie quand même qu'avec le bloc-notes tu peux modifier le contenu.

Il n'y aurait pas un autre programme qui bloquerait le fichier ?
Par exemple tu aurais oublié une copie de ton programme que tu aurais
lancé pour test, et qui n'aurait pas été fermée.
_____________________________________
Le 25/08/2006 11:50, Pascal a écrit :
> ReHELLO,
> quand tu dit les droits, ben je les ai puisque en dehors de


l'environnement
> de VB6 je peux supprimer, je suis le seul utilisteur
>
>
>
>
> "Gloops" a écrit dans le message de
> news:
>> Salut,
>>
>> Oublie mon message précédent, et vérifie que tu as bien les droits
>> voulus sur le fichier. Pour ce qui me concerne c'était ça le problème.
>


Avatar
Nicoletti
Hello
le repertoire doit d'abord etre vidé.. : del *.*
Bruno
Le Fri, 25 Aug 2006 00:09:27 +0200, Pascal a écrit:

bonsoir,
une petite aide bienvenue, ne comprends pas pourquoi la suppression d'un
dossier (avec RMDIR) me génère une erreur 75 (Erreur dans le Chemin
d'accèsà
??????????
Toute idée bienvenue
Merci
Pascal

voici le code :

Private Sub cmdSupprimerAlbum_Click()
Dim DossierSup As String

'chemin = d:MonDossier
'initialise le dossier a supprimer
DossierSup = Chemin & "" &
Me.ListView1.ListItems(ListView1.selectedItem.Index)

rep = MsgBox("vous avez choisi de supprimer :" & vbCrLf &
Me.ListView1.ListItems(ListView1.selectedItem.Index) & vbCrLf & vbCrLf &
_
"Vous confirmez ce choix ?", vbYesNo, "Suppression")
If rep = vbYes Then
'supprime tous les fichiers du dossier
Kill DossierSup & "*.*"
'enleve l'attribut lecture seule du dossier
SetAttr DossierSup, vbNormal
'supprime le dossier
RmDir DossierSup
End If
'Rafraichit la listView
Call ShowRep

End Sub






--
Utilisant le client e-mail révolutionnaire d'Opera :
http://www.opera.com/mail/
Avatar
jt
"Pascal" a écrit dans le message de news:

Voilà un code qui fonctionne et qui supprime proprement fichiers et
dossiers
la commande pour appeler cette sub est : DelDir(NomDossier,True) true
efface dossier et fichiers False n'éfface que les fichiers
Cela aidera certainement d'autre dans le même cas
Pascal

==================================================================== > Public Sub DelDir(ByVal PStrPath As String, Optional ByVal PBolDelSubDir
As
Boolean = True)
Const MODULE = "DelDir"
Dim LStrNomFic As String

On Error GoTo TrtErrDelDir

If right$(PStrPath, 1) = "" Then PStrPath = left$(PStrPath,
Len(PStrPath) - 1)

' Parcours récursif des sous-répertoires.

If PBolDelSubDir Then
Do
LStrNomFic = Dir(PStrPath & "*.*", vbDirectory)
While LStrNomFic = "." Or LStrNomFic = ".." Or
(GetAttr(PStrPath
& "" & LStrNomFic) And vbDirectory) <> vbDirectory
LStrNomFic = Dir
Wend

If LStrNomFic <> "" And (GetAttr(PStrPath & "" & LStrNomFic)
And vbDirectory) = vbDirectory Then
Call DelDir(PStrPath & "" & LStrNomFic)
End If
Loop Until LStrNomFic = ""
End If

' Suppression des fichiers se trouvant dans le répertoire en cours.

LStrNomFic = Dir(PStrPath & "*.*", vbNormal + vbReadOnly + vbHidden +
vbSystem + vbArchive)
While LStrNomFic <> ""
SetAttr PStrPath & "" & LStrNomFic, vbNormal
DoEvents

Kill PStrPath & "" & LStrNomFic
DoEvents

LStrNomFic = Dir
Wend

If Len(PStrPath) > 3 Then
SetAttr PStrPath, vbNormal
DoEvents

RmDir PStrPath
End If

ExitDelDir:

DoEvents

Exit Sub

TrtErrDelDir:

MsgBox "MODULE : " & MODULE & vbCrLf _
& "PARAM. :" & vbCrLf _
& " Path = " & PStrPath & vbCrLf _
& " SubDir = " & PBolDelSubDir & vbCrLf _
& "ERREUR : " & Err.Number & vbCrLf _
& Err.Description, vbCritical, App.EXEName

Resume ExitDelDir

End Sub
==================================================================== >



"Pascal" a écrit dans le message de
news:%
bonsoir,
une petite aide bienvenue, ne comprends pas pourquoi la suppression d'un
dossier (avec RMDIR) me génère une erreur 75 (Erreur dans le Chemin


d'accèsà
??????????
Toute idée bienvenue
Merci
Pascal

voici le code :

Private Sub cmdSupprimerAlbum_Click()
Dim DossierSup As String

'chemin = d:MonDossier
'initialise le dossier a supprimer
DossierSup = Chemin & "" &
Me.ListView1.ListItems(ListView1.selectedItem.Index)

rep = MsgBox("vous avez choisi de supprimer :" & vbCrLf &
Me.ListView1.ListItems(ListView1.selectedItem.Index) & vbCrLf & vbCrLf &
_
"Vous confirmez ce choix ?", vbYesNo, "Suppression")
If rep = vbYes Then
'supprime tous les fichiers du dossier
Kill DossierSup & "*.*"
'enleve l'attribut lecture seule du dossier
SetAttr DossierSup, vbNormal
'supprime le dossier
RmDir DossierSup
End If
'Rafraichit la listView
Call ShowRep

End Sub






Bonsoir
Voici un code extrait de Allapi
Il supprime les repertoiresfichiers et sous repertoires

Private Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type
Private Const FO_DELETE = &H3
Private Const FOF_ALLOWUNDO = &H40
Private Declare Function SHFileOperation Lib "shell32.dll" Alias
"SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Sub DelDir(Directory as string)
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail:
Dim SHFileOp As SHFILEOPSTRUCT
With SHFileOp
'Delete the file
.wFunc = FO_DELETE
'Select the file
.pFrom = directory & "*.*"
'Allow 'move to recycle bn'
.fFlags = FOF_ALLOWUNDO
End With
'perform file operation
SHFileOperation SHFileOp
End Sub

Voici les differentes valeurs pour wFunc
Private Const FO_COPY As Long = &H2
Private Const FO_DELETE As Long = &H3
Private Const FO_MOVE As Long = &H1
Private Const FO_RENAME As Long = &H4

Voici les differents parametres pour fFlags
Private Const FOF_ALLOWUNDO As Long = &H40
Private Const FOF_CONFIRMMOUSE As Long = &H2
Private Const FOF_FILESONLY As Long = &H80
Private Const FOF_MULTIDESTFILES As Long = &H1
Private Const FOF_NO_CONNECTED_ELEMENTS As Long = &H2000
Private Const FOF_NOCONFIRMATION As Long = &H10
Private Const FOF_NOCONFIRMMKDIR As Long = &H200
Private Const FOF_NOCOPYSECURITYATTRIBS As Long = &H800
Private Const FOF_NOERRORUI As Long = &H400
Private Const FOF_NORECURSION As Long = &H1000
Private Const FOF_RENAMEONCOLLISION As Long = &H8
Private Const FOF_SILENT As Long = &H4
Private Const FOF_SIMPLEPROGRESS As Long = &H100
Avatar
Gloops
Nicoletti a écrit, le 25/08/2006 20:34 :

Hello
le repertoire doit d'abord etre vidé.. : del *.*
Bruno



Salut,

Je suppose que tu voulais dire
DEL *.* /S /Q /F

Bien pour l'interface utilisateur, ça.

En VB, l'avantage avec les routines proposées par Pascal et jt, si j'ai
bien lu en parcourant vite en diagonale, c'est qu'il n'y a pas d'appel
au système donc moins de besoins en mémoire.
1 2