Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Delete

11 réponses
Avatar
DIP
Bonjour,
J'ai un problème avec cette boucle, je n'arrive pas à exécuter l'écriture
des données dans un fichier et supprimer celui-ci.

For Each objFile in fic
Set f = fso.GetFile(objfile)
If DateDiff("D", objfile.DateCreated, now) > 7 Then
'MsgBox objfile & " a suprimer" & objfile.DateCreated

'On Error Resume Next
Set f = fso.OpenTextFile("c:\temp\vmtrans.txt", ForAppending,true)
f.write(objfile & " " & objfile.DateCreated)
f.write(Chr(10)+Chr(13))
f.close
fso.DeleteFile f, True
End if
Next

Comment faire pour que cette boucle fonctionne ?
Merci d'avance pour votre aide
Salutations
DIP

10 réponses

1 2
Avatar
Gilles LAURENT
"DIP" a écrit dans le message de
news:
| Bonjour,

Bonjour,

| J'ai un problème avec cette boucle, je n'arrive pas à exécuter
| l'écriture des données dans un fichier et supprimer celui-ci.
[...]

Je suppose que cette boucle consiste à faire le ménage dans un dossier
en supprimant les fichiers datant de plus de 7 jours. Ci-dessous votre
boucle légèrement remaniée :

--- Couper ici ---

' initialisation des objets
Set oFs=CreateObject("Scripting.FileSystemObject")

' ouverture du fichier log
Set oLogFile=oFs.OpenTextFile ("C:Tempvmtrans.txt", 8, True)

' lecture des fichiers présents dans le répertoire spécifié
Set colFiles=oFs.GetFolder ("C:Transfert").Files

' traitement des fichiers
For Each oFile In colFiles

' lecture de la date de création du fichier
If DateDiff ("D", oFile.DateCreated, Now) > 7 Then

' le fichier à plus de sept jours
' écriture de l'information dans le fichier log
oLogFile.WriteLine oFile.DateCreated & " " & oFile.Name

' suppression du fichier
' oFs.DeleteFile oFile.Name, True

End If

Next

' fermeture du fichier log
oLogFile.Close

--- Couper ici ---

--
Gilles LAURENT
http://glsft.free.fr
Avatar
DIP
Merci bcp
J'ai encore un problème pour la suppression d'un répértoire qui contient des
sous-répertoire vide. J'ai un message d'erreur qui me dit : Permission denied
(j'ai tout les droits)
Voici le code :

For Each B in folder.subfolders
If B.size = 0 Then
'MsgBox B & B.size
Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)
fso.DeleteFolder B, True
End If
Next




"DIP" a écrit dans le message de
news:
| Bonjour,

Bonjour,

| J'ai un problème avec cette boucle, je n'arrive pas à exécuter
| l'écriture des données dans un fichier et supprimer celui-ci.
[...]

Je suppose que cette boucle consiste à faire le ménage dans un dossier
en supprimant les fichiers datant de plus de 7 jours. Ci-dessous votre
boucle légèrement remaniée :

--- Couper ici ---

' initialisation des objets
Set oFs=CreateObject("Scripting.FileSystemObject")

' ouverture du fichier log
Set oLogFile=oFs.OpenTextFile ("C:Tempvmtrans.txt", 8, True)

' lecture des fichiers présents dans le répertoire spécifié
Set colFiles=oFs.GetFolder ("C:Transfert").Files

' traitement des fichiers
For Each oFile In colFiles

' lecture de la date de création du fichier
If DateDiff ("D", oFile.DateCreated, Now) > 7 Then

' le fichier à plus de sept jours
' écriture de l'information dans le fichier log
oLogFile.WriteLine oFile.DateCreated & " " & oFile.Name

' suppression du fichier
' oFs.DeleteFile oFile.Name, True

End If

Next

' fermeture du fichier log
oLogFile.Close

--- Couper ici ---

--
Gilles LAURENT
http://glsft.free.fr





Avatar
Jean
Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)


Retirez cette ligne

Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)

Je suppose que ce fichier est déjà ouvert précédemment et non fermé.

Amicalement,

--
Jean - JMST
Belgium

Avatar
Gilles LAURENT
"Jean" a écrit dans le message de
news:
| Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)
|
| Je suppose que ce fichier est déjà ouvert précédemment et non fermé.
|
| Amicalement,

De toute façon cette ligne se situant à l'intérieur de la boucle For
Each, message d'erreur permission refusée garanti ;-)

--
Gilles LAURENT
http://glsft.free.fr
Avatar
DIP
Bonjour,

Je l'ai supprimé mais j'obtiens tjours le même message d'erreur
Avez-vous une solution ?

Salutations
DIP


Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)


Retirez cette ligne

Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)

Je suppose que ce fichier est déjà ouvert précédemment et non fermé.

Amicalement,

--
Jean - JMST
Belgium






Avatar
Jean
"Jean" a écrit dans le message de
news:
Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)

Je suppose que ce fichier est déjà ouvert précédemment et non fermé.

Amicalement,


De toute façon cette ligne se situant à l'intérieur de la boucle For
Each, message d'erreur permission refusée garanti ;-)


Pas faux :-)
Mais il devrait au moins supprimer un sous répertoire dans ce cas.

De toute façon c'est un drôle d'endroit pour mettre cette ligne :-)

Amicalement,

--
Jean - JMST
Belgium


Avatar
Jean
Bonjour,

Je l'ai supprimé mais j'obtiens tjours le même message d'erreur
Avez-vous une solution ?

Salutations
DIP


Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)


Retirez cette ligne

Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)

Je suppose que ce fichier est déjà ouvert précédemment et non fermé.

Amicalement,

--
Jean - JMST
Belgium






Ce qui serait plus simple ... tant qu'à faire ... c'est de dire ce que
vous voulez faire exactement ...

Amicalement,

--
Jean - JMST
Belgium



Avatar
DIP
Bonjour,

Je l'ai supprimé mais j'obtiens toujours le même message d'erreur.
Avez-vous une idée de comment résoudre ce problème ?

Merci d'avance
DIP


"Jean" a écrit dans le message de
news:
Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)

Je suppose que ce fichier est déjà ouvert précédemment et non fermé.

Amicalement,


De toute façon cette ligne se situant à l'intérieur de la boucle For
Each, message d'erreur permission refusée garanti ;-)


Pas faux :-)
Mais il devrait au moins supprimer un sous répertoire dans ce cas.

De toute façon c'est un drôle d'endroit pour mettre cette ligne :-)

Amicalement,

--
Jean - JMST
Belgium







Avatar
DIP
Bonjour,

C'est de faire une boucle pour supprimer les répertoires et sous répertoires
qui sont vides (récursivité)

Salutations
DIP


Bonjour,

Je l'ai supprimé mais j'obtiens tjours le même message d'erreur
Avez-vous une solution ?

Salutations
DIP


Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)


Retirez cette ligne

Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)

Je suppose que ce fichier est déjà ouvert précédemment et non fermé.

Amicalement,

--
Jean - JMST
Belgium






Ce qui serait plus simple ... tant qu'à faire ... c'est de dire ce que
vous voulez faire exactement ...

Amicalement,

--
Jean - JMST
Belgium








Avatar
cptnews
Bonsoir pistes à vérifier
1 - Le programe n'essaye t'il pas de supprimer un repertoire ou il se
trouve justement.
2 - Vérifier si tu es / ou le proprietaire du scripte est le
"proprietaire"

bonne chance

;-)




Bonjour,

Je l'ai supprimé mais j'obtiens tjours le même message d'erreur
Avez-vous une solution ?

Salutations
DIP


Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)


Retirez cette ligne

Set fa = fso.OpenTextFile("c:tempVMTrans.txt", ForAppending,true)

Je suppose que ce fichier est déjà ouvert précédemment et non fermé.

Amicalement,

-- Jean - JMST
Belgium






Ce qui serait plus simple ... tant qu'à faire ... c'est de dire ce que vous
voulez faire exactement ...

Amicalement,





1 2