Stat dossier en VBS (chemin plus de 256 caracteres) Le sujet est résolu
Modérateurs : Modérateurs, Modérateurs_Divers
Stat dossier en VBS (chemin plus de 256 caracteres)
Bonjour,
je vous expose mon probleme,
je lance un script en VBS qui doit me logger dans un fichier texte (au total 4 fichiers en sortie) 3 colonnes : date du lancement, nom du repertoire et sa taille y compris ses sous repertoires.
Tout le temps que le chemin ne depasse pas 256 carateres tout se passe bien, le script plante si ca depasse.
Je m'adresse a vous afin de trouver une solution, elle peut etre autre qu'en VBS, mais le fichier de sorti doit etre imperativement comme je l'ai specifie, les trois colonnes et uniquement le total du dossier,
voici le sript suivi d'un exemple de fichier de sortie, votre aide est tres attendue, cela alegera une partie de l'administration.
J'ajouterai que j'ai laisse tomber l'idee d'un subst ou d'un map pour racourcir le chemin, il y a trop de depassement et il est difficile de renomer les dossiers pour garder une coherence.
Merci par avance pour votre retour.
(desole pour le manque d'accentuation, j'ai un clavier US)
-----====== FICHIER DE LOG ======-----
30/11/2014 Anciennes pages 0
30/11/2014 be 0
30/11/2014 images 2
30/11/2014 prod 0
30/11/2014 Project 8934
30/11/2014 qualite 3510
30/11/2014 Rh 0
30/11/2014 Sales 361
30/11/2014 sav 6614
07/12/2014 Anciennes pages 0
07/12/2014 be 0
07/12/2014 images 2
07/12/2014 prod 0
07/12/2014 Project 8934
07/12/2014 qualite 3510
07/12/2014 Rh 0
07/12/2014 Sales 361
07/12/2014 sav 6617
14/12/2014 Anciennes pages 0
14/12/2014 be 0
14/12/2014 images 2
14/12/2014 prod 0
14/12/2014 Project 8934
14/12/2014 qualite 3510
14/12/2014 Rh 0
14/12/2014 Sales 361
14/12/2014 sav 6650
je vous expose mon probleme,
je lance un script en VBS qui doit me logger dans un fichier texte (au total 4 fichiers en sortie) 3 colonnes : date du lancement, nom du repertoire et sa taille y compris ses sous repertoires.
Tout le temps que le chemin ne depasse pas 256 carateres tout se passe bien, le script plante si ca depasse.
Je m'adresse a vous afin de trouver une solution, elle peut etre autre qu'en VBS, mais le fichier de sorti doit etre imperativement comme je l'ai specifie, les trois colonnes et uniquement le total du dossier,
voici le sript suivi d'un exemple de fichier de sortie, votre aide est tres attendue, cela alegera une partie de l'administration.
J'ajouterai que j'ai laisse tomber l'idee d'un subst ou d'un map pour racourcir le chemin, il y a trop de depassement et il est difficile de renomer les dossiers pour garder une coherence.
Merci par avance pour votre retour.
(desole pour le manque d'accentuation, j'ai un clavier US)
Code : Tout sélectionner
-----====== SCRIPT ======-----
Dim vDate, vJour, vMois, vAnnee
Dim UserOut, PstOut, DataOut, WwwOut
Const ForWriting = 2
Const ForAppending = 8
Const UsersFolder = "E:\Users"
Const PstFolder = "E:\Pst"
Const DataFolder = "E:\data"
Const WwwFolder = "E:\www_data"
vDate=Date
vJour=DatePart("d",vDate)
vMois=DatePart("m", vDate)
vAnnee=DatePart("yyyy", vDate)
vDateJour=vJour & "/" & vMois & "/" & vAnnee
UserOut = "E:\Data\Info\Exploitation informatique\Securite\users_folders.txt"
PstOut = "E:\Data\Info\Exploitation informatique\Securite\pst_folders.txt"
DataOut = "E:\Data\Info\Exploitation informatique\Securite\data_folders.txt"
WwwOut = "E:\Data\Info\Exploitation informatique\Securite\www_folders.txt"
' Analyse du dossier e:\users
call Analyse(UsersFolder,UserOut)
' Analyse du dossier e:\pst
call Analyse(PstFolder,PstOut)
' Analyse du dossier e:\data
call Analyse(DataFolder,DataOut)
' Analyse du dossier e:\www_data
call Analyse(WwwFolder,WwwOut)
Sub Analyse(what,result)
On error resume next
Dim f, f1, fc
Dim objFSO, objTextFile, objNetwork
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set f = objFSO.GetFolder(what)
Set objTextFile = objFSO.OpenTextFile(result, ForAppending, True)
Set fc = f.SubFolders
'
' Ouverture du fichier resultat pour ecriture
'
For Each f1 in fc
objTextFile.WriteLine(vDateJour & vbTab & f1.Name & vbTab & f1.Size/1024\1024)
Next
'
' fermeture du fichier resultat
'
objTextFile.close
' on libere les pointeurs
Set objTextFile = Nothing
Set fc = Nothing
Set f = Nothing
Set objFSO = Nothing
End Sub
30/11/2014 Anciennes pages 0
30/11/2014 be 0
30/11/2014 images 2
30/11/2014 prod 0
30/11/2014 Project 8934
30/11/2014 qualite 3510
30/11/2014 Rh 0
30/11/2014 Sales 361
30/11/2014 sav 6614
07/12/2014 Anciennes pages 0
07/12/2014 be 0
07/12/2014 images 2
07/12/2014 prod 0
07/12/2014 Project 8934
07/12/2014 qualite 3510
07/12/2014 Rh 0
07/12/2014 Sales 361
07/12/2014 sav 6617
14/12/2014 Anciennes pages 0
14/12/2014 be 0
14/12/2014 images 2
14/12/2014 prod 0
14/12/2014 Project 8934
14/12/2014 qualite 3510
14/12/2014 Rh 0
14/12/2014 Sales 361
14/12/2014 sav 6650
Dernière modification par Lartistez le mer. 21 janv. 2015, 16:14, modifié 1 fois.
- kazer
- First Lord
- Messages : 45591
- Inscription : ven. 26 oct. 2001, 21:39
- Localisation : Dans la grisaille de l'ile de france
- Contact :
Re: Stat dossier en VBS (chemin plus de 256 caracteres)
Peux tu mettre le script entre balises code?
Guillaume DESFARGES

MCPTS Windows Server 2008/Virtualisation - MCITP: Enterprise Desktop Win7
MVP Directory Services (2004)/Security (2005-07)/Setup&Dep: Architecture (2008-15)/Cloud and Datacenter Management, Windows and Devices IT (2016)/Windows and Devices for IT (2017)
Profil MVP - Articles - Transcript (ID: 661703 Pass: Gdesfarges) - Bibliographie
Supinfo Promo 2001
MCPTS Windows Server 2008/Virtualisation - MCITP: Enterprise Desktop Win7
MVP Directory Services (2004)/Security (2005-07)/Setup&Dep: Architecture (2008-15)/Cloud and Datacenter Management, Windows and Devices IT (2016)/Windows and Devices for IT (2017)
Profil MVP - Articles - Transcript (ID: 661703 Pass: Gdesfarges) - Bibliographie
Supinfo Promo 2001
- magnancc51
- Keyboard Master
- Messages : 6147
- Inscription : jeu. 14 oct. 2004, 14:00
- Localisation : Aix en Provence
Re: Stat dossier en VBS (chemin plus de 256 caracteres)
Le problème ne vient pas du script, mais du fait que Windows ne gère pas les chemins de plus de 256 caractères.
Tu dois renommer les dossiers/fichiers.
Tu dois renommer les dossiers/fichiers.
MCSA 2000/2003 Messagerie - MCSE 2000/2003 - MCITP Enterprise Administrator - MCTS Exchange 2010 - MCSA 2008/2012/2016 - MCSE 2016
Re: Stat dossier en VBS (chemin plus de 256 caracteres)
Bonjour et merci,magnancc51 a écrit :Le problème ne vient pas du script, mais du fait que Windows ne gère pas les chemins de plus de 256 caractères.
Tu dois renommer les dossiers/fichiers.
Tout a fait, cela vient bien la longueur totale ; chemin + nom du fichier,
Comme explique "il ne nous est pas possible de renomer pour raccourcir cet ensemble",
La structure de l'arborescence ne peut pas etre touchee.
Je viens de lancer ce meme script en ajoutant le prefixe \\?\ devant chaque chemin devant etre analyse,
En theorie cela permet de depasser les 260 caracteres pour atteindre 32767, voir https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Je vous tiens au courant.
Cordialement
Re: Stat dossier en VBS (chemin plus de 256 caracteres) Le sujet est résolu
Bonjour,
Genial!!!
Je vous confirme que le prefix \\?\ fonctionne a merveille.
Bonne journee
Genial!!!
Je vous confirme que le prefix \\?\ fonctionne a merveille.
Code : Tout sélectionner
Const UsersFolder = "\\?\E:\Users"
Const PstFolder = "\\?\E:\Pst"
Const DataFolder = "\\?\E:\data"
Const WwwFolder = "\\?\E:\www_data"
Bonne journee