Definir le dossier de travail du script.

Résolu
cs_senkei Messages postés 7 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 16 novembre 2005 - 16 nov. 2005 à 08:19
cs_senkei Messages postés 7 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 16 novembre 2005 - 17 nov. 2005 à 07:53
Bonjour à tous,

j'ai un script à faire et j'aimerais pouvoir le lancer de mon PC et qu'il aille travailler sur un disque réseau du bahut.

Quelle commande utliser pour lui dire de travailler sur le disque [file://serveur1/partage \\serveur1\partage] ?
Je dois ensuite récupérer des infos sur le fichiers de ce dossier.

Je sais que la commande est FileDateName mais comment l'utiliser pour l'afficher pour plusieurs fichiers en même temps ?

Merci d'avance.

Ps : je travaille pour faire un .VBS sous bloc-notes ou VBS Factory.

6 réponses

cs_jeanmarc Messages postés 34 Date d'inscription mardi 18 juin 2002 Statut Membre Dernière intervention 22 novembre 2005
16 nov. 2005 à 21:02
Bonsoir,
Il faut utiliser la fonction "DateLastModified"
Exemple:
Dim Path
Path = "c:\Test"


MsgBox ShowFolderList(Path),vbmessage,"Fichiers présents dans le répertoire"
Function ShowFolderList(strPath)
Dim fso, Dossiers, fic, fichiers, strListe, f, fdate, fname, dtDiffFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossiers = fso.GetFolder(path)
Set fic = Dossiers.Files


For Each fichiers in fic
Set f = fso.GetFile(fichiers)
fdate = f.DateLastModified
fname = f.Name
dtDiffFile = DateDiff("d", Now, fdate)
If dtDiffFile <= -2 Then
MsgBox "Le fichier " & Path & fname & " sera supprimé car créé le " & fdate
' fso.DeleteFile(Path & fname)
Else
MsgBox "Le fichier " & Path & fname & " ne sera pas supprimé car créé le " & fdate
End If
strListe = strListe & vbcrlf & vbcrlf & fname & " " & fdate
Next
ShowFolderList = strListe
End Function
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
16 nov. 2005 à 08:45
> Quelle commande utliser pour lui dire de travailler sur le disque [file://serveur1/partage \\serveur1\partage] ?



Il n'y a pas de commande pour faire çà, c'est à toi de lui dire qu'il doit aller chercher ses fichiers là bas.



Exemple, si tu travailles sur le fichier toto.txt, et bien, quand tu
l'ouvriras, il faudra appeler le fichier \\serveur1\partage\toto.txt





A la rigueur, tu enregistres dans une variable de type String le nom du répertoire par défaut.



Dim sFolderName As String



sFolderName = "\\serveur1\partage"

et tu bosses sur les fichiers nommés

sFolderName & "toto.txt"
sFolderName & "toto1.bat"

sFolderName & "toto2.bin"

...




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
cs_senkei Messages postés 7 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 16 novembre 2005
16 nov. 2005 à 08:59
ben en fait je ne connais pas les fichiers du disque réseau avant de lancer le script. Si cela peut t'inspirer voici l'énnoncé de l'exercice :

Un scanner est placé en réseau dans une société. Les documents scannés se placent dans un répertoire partagé \\serveur1\partage. Pour éviter de surgarger le serveur, on vous demande un script supprimant tous les fichiers dont la date de dernière modification remonte à deux jours.

Je pensais, en gros je n'ai encore qu'un brouillon :

Recuperez la date du jour dans un variable.
la comparer au FileDateName des fichiers avec la commande DateDiff (date du jour - date du fichier)
si le datediff = -2 suprimer le fichier
le script est lancé tout les matins est supprime tous les fichiers scannés il y'a deux jours.

Le probleme est que je ne connais pas le nom des fichiers qui seront à supprimer au lancement du script.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
16 nov. 2005 à 09:37
Utilise un objet FileListBox (dans la barre d'outils de VB6).



et voici le code qui te permet de récupérer les noms des fichiers qui sont sur ton serveur :



File1.Path = "\\serveur1\partage"

File1.Pattern = "*.*"



For l = 0 to File1.ListCount-1

MsgBox File1.Path & "" & File1.List(l)

Next l








Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_senkei Messages postés 7 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 16 novembre 2005
16 nov. 2005 à 09:40
je veux bien mais j'en fais quoi après ?
car tout doit être automatique...
0
cs_senkei Messages postés 7 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 16 novembre 2005
17 nov. 2005 à 07:53
merci de votre aide sur le sujet.

++
0
Rejoignez-nous