Question
Taille dossier avec arborescence > 260 carac ??
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6298
- Remerciements reçus 68
il y a 8 ans 1 mois #20695
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Taille dossier avec arborescence > 260 carac ??
Salut,
6ratgus écrit:
Pour le pb de verrou, certains sont exclusifs, dans ce cas on ne peut rien faire (lire la MFT
), et idem pour les pb de droits ( la MFT utilses-t-elle les ACL ?).
Pour GetSize, faudrait regarder le code et les API utilisée ou + simplement poser la question aux développeurs
. Le pb est peut référencé dans le forum 'issues'.
Pour GetDirectories, elle renvoie un objet fichier et pas un nom de fichier. Si je me souviens bien cette DLL peut manipuler des ACL sur ces fichiers 'de nom long'.
Enfin, je n'ai pas trop le temps de creuser ce pb.
Au cas où, le post du dernier lien cité contient un script de création d'une arborescence de ce type.
6ratgus écrit:
Je lu rapido la réponse du jour, je t'ai laissé répondre.Laurent si tu lis ce post stp :
2) a tu une idée sur ce problème :
Pour le pb de verrou, certains sont exclusifs, dans ce cas on ne peut rien faire (lire la MFT

Pour GetSize, faudrait regarder le code et les API utilisée ou + simplement poser la question aux développeurs

Pour GetDirectories, elle renvoie un objet fichier et pas un nom de fichier. Si je me souviens bien cette DLL peut manipuler des ACL sur ces fichiers 'de nom long'.
Enfin, je n'ai pas trop le temps de creuser ce pb.
Au cas où, le post du dernier lien cité contient un script de création d'une arborescence de ce type.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 1 mois #20696
par Philippe
Réponse de Philippe sur le sujet Re:Taille dossier avec arborescence > 260 carac ??
merci Laurent pour ta réponse
bon une longue lecture de la doc, il faut utilisé GetFileSystemEntryInfo pour avoir les infos d'un fichier
exemple :
[code:1]
$SourcePath = $Env:UserProfile
[Alphaleonis.Win32.Filesystem.File]::GetFileSystemEntryInfo($SourcePath + '\NTUSER.DAT')
AlternateFileName :
Attributes : Hidden, System, Archive, NotContentIndexed
Created : 15/10/2014 18:17:27
FileName : NTUSER.DAT
FileSize : 8650752
FullPath : C:\Users\xxx\NTUSER.DAT
IsDirectory : False
IsMountPoint : False
IsReparsePoint : False
IsSymbolicLink : False
LastAccessed : 25/06/2015 11:30:40
LastModified : 26/08/2015 14:55:41
LongFullPath : \\?\C:\Users\xxx\NTUSER.DAT
ReparsePointTag : None[/code:1]
pour le test, j'ai utilisé le fichier NTUSER.DAT de utilisateur courant car il est ouvert par l'OS et donc provoque l'erreur vu plus haut
GetFileSystemEntryInfo te renvoie un objet de type Alphaleonis.Win32.Filesystem.FileSystemEntryInfo qui contient la propriété Filesize recherché !!!
donc un code du type suivant te renverra la taille du fichier même si il est ouvert ou autre ! :
[code:1]
([Alphaleonis.Win32.Filesystem.File]::GetFileSystemEntryInfo($SourcePath + '\NTUSER.DAT')).FileSize
[/code:1]<br><br>Message édité par: 6ratgus, à: 26/08/15 15:14
bon une longue lecture de la doc, il faut utilisé GetFileSystemEntryInfo pour avoir les infos d'un fichier
exemple :
[code:1]
$SourcePath = $Env:UserProfile
[Alphaleonis.Win32.Filesystem.File]::GetFileSystemEntryInfo($SourcePath + '\NTUSER.DAT')
AlternateFileName :
Attributes : Hidden, System, Archive, NotContentIndexed
Created : 15/10/2014 18:17:27
FileName : NTUSER.DAT
FileSize : 8650752
FullPath : C:\Users\xxx\NTUSER.DAT
IsDirectory : False
IsMountPoint : False
IsReparsePoint : False
IsSymbolicLink : False
LastAccessed : 25/06/2015 11:30:40
LastModified : 26/08/2015 14:55:41
LongFullPath : \\?\C:\Users\xxx\NTUSER.DAT
ReparsePointTag : None[/code:1]
pour le test, j'ai utilisé le fichier NTUSER.DAT de utilisateur courant car il est ouvert par l'OS et donc provoque l'erreur vu plus haut
GetFileSystemEntryInfo te renvoie un objet de type Alphaleonis.Win32.Filesystem.FileSystemEntryInfo qui contient la propriété Filesize recherché !!!
donc un code du type suivant te renverra la taille du fichier même si il est ouvert ou autre ! :
[code:1]
([Alphaleonis.Win32.Filesystem.File]::GetFileSystemEntryInfo($SourcePath + '\NTUSER.DAT')).FileSize
[/code:1]<br><br>Message édité par: 6ratgus, à: 26/08/15 15:14
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6298
- Remerciements reçus 68
il y a 8 ans 1 mois #20697
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Taille dossier avec arborescence > 260 carac ??
Pour ceci :
6ratgus écrit:
[code:1]$LongDirectory = [Alphaleonis.Win32.Filesystem.Path]::GetLongPath(($Sourcepath+'\file'))[/code:1]
6ratgus écrit:
Il est préférable d'utiliser un nom long :[code:1]
$SourcePath = $Env:UserProfile
[/code:1]
[code:1]$LongDirectory = [Alphaleonis.Win32.Filesystem.Path]::GetLongPath(($Sourcepath+'\file'))[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- rocketter
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 46
- Remerciements reçus 0
il y a 8 ans 1 mois #20699
par rocketter
Réponse de rocketter sur le sujet Re:Taille dossier avec arborescence > 260 carac ??
Merci beaucoup les gars pour votre aide !! je vais essayer de tester ça dans la journée
Connexion ou Créer un compte pour participer à la conversation.
- rocketter
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 46
- Remerciements reçus 0
il y a 8 ans 1 mois #20700
par rocketter
Réponse de rocketter sur le sujet Re:Taille dossier avec arborescence > 260 carac ??
J'ai pu tester, c'est vrai que je n'ai plus le message d'erreur concernant le fichier utilisé par un autre processus. Par contre subsiste toujours l'erreur d'accès refusé.
Après si je me réfère à ce qu'à dit Laurent :
Il semble que ce souci ne puisse pas être résolu. Tant pis.
Merci de votre aide en tout cas.
Après si je me réfère à ce qu'à dit Laurent :
Pour le pb de verrou, certains sont exclusifs, dans ce cas on ne peut rien faire (lire la MFT ), et idem pour les pb de droits ( la MFT utilses-t-elle les ACL ?).
Il semble que ce souci ne puisse pas être résolu. Tant pis.
Merci de votre aide en tout cas.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6298
- Remerciements reçus 68
il y a 8 ans 1 mois #20701
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Taille dossier avec arborescence > 260 carac ??
rocketter écrit:

S'il existe une solution ce sera autour de code bas niveau
Dans le cas où un verrou existe sur un fichier que renvoi, dans une session cmd.exe, la commande Dir ?
Et avec WMI ?
Disons que je ne sais pas faireIl semble que ce souci ne puisse pas être résolu

S'il existe une solution ce sera autour de code bas niveau
Dans le cas où un verrou existe sur un fichier que renvoi, dans une session cmd.exe, la commande Dir ?
Et avec WMI ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.063 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Taille dossier avec arborescence > 260 carac ??