VBS ne peut pas trouver d'annuaire - Chemin Non Trouvé"
J'ai un script qui obtient des informations sur l'état actuel des dossiers et sous-dossiers dans un répertoire spécifique. Il fonctionne très bien, mais je suis tombé sur une étrange question:
dim FSO, objFolder, datafolder, foldername, objSubfolder, totalSize
dim objSubfolder2, objFolder2, mSize, size, today, dateLastMod
foldername = "D:\folder\subfolder"
set FSO = CreateObject("Scripting.FileSystemObject")
set objFolder = FSO.GetFolder(foldername)
set colSubfolders = objFolder.Subfolders
today = Now
ShowFolderDetails objFolder
Function ShowFolderDetails(oF)
datafolder = oF.Size/1073741824
wscript.echo oF.Name & " :Size= " & datafolder & " GB"
wscript.echo oF.Name & " #Files= " & oF.Files.Count
wscript.echo oF.Name & " #Folders= " & oF.Subfolders.count
wscript.echo oF.Name & " Date Last Modified= " & oF.DateLastModified
totalSize = totalSize + datafolder
end Function
Et il y a une suite, mais mon problème est que je obtenir un path not found
lorsque j'appelle cette fonction.
Le dossier n'est pas situé sur le lecteur C:\ -, ce qui ne devrait pas être un problème.
J'ai fait ce même script, mais il a changé foldername = D:\folder\differentsubfolder
qui fonctionne parfaitement. Mais quand je l'ai modifier pour l'autre dossier, il me donne un chemin d'accès ne trouve pas d'erreur.
J'ai aussi essayé de mettre tout en dessous de set FSO = CreatObject("Scripting.FileSytemObject") dans une instruction if:
SI L'OFS.FolderExists(nomdossier) Alors ....
Ce ne entrer que SI l'instruction, ce qui me fait croire que le VBS voit, mais j'ai toujours cette erreur au line 17 (datafolder = oF.Size/1073741824)
.
J'ai essayé de mettre dans le chemin du dossier complet où la variable foldername est situé (entouré de guillemets).
J'ai essayé de lancer mon vbs signalé d'autres répertoires et il fonctionne à 100%. C'est juste qu'dossier spécifique. Il n'y a pas d'espaces dans le nom du dossier.
Est-il autre chose que je suis absent? J'en ai plein accès à l'administration D:\
Bon point: c'est la question. Il ne peut pas obtenir la taille de ce dossier... encore de débogage. (pas de est ne devrait pas être un problème de sécurité, comme indiqué ci-dessus, je suis en cours d'exécution dans les locaux de l'admin)
euh, oui c'est possible, faites-vous faire une cartographie à une lettre de lecteur avec un nom d'utilisateur/mot de passe en premier ? si l'accès à des dossiers ou des fichiers par la suite, vous pouvez avoir des problèmes de sécurité, mais de deviner à partir de votre question, je pense que c'est une carte sur le lecteur d:? pourquoi ne pas publier son vrai nom ?
J'ai eu le même problème. Il s'est avéré que la problématique des fichiers/dossiers a montré d'autres comportement étrange lors de l'accès à eux. Semble que le système de fichiers est en quelque sorte corrompu. Essayez de vérifier votre système de fichiers et voir si l'erreur reste.
OriginalL'auteur Zero Stack | 2012-06-13
Vous devez vous connecter pour publier un commentaire.
Je parie que ce n'est pas un fichier caché ou un dossier qui est la cause, mais un système de fichier comme par exemple les Pouces.db qui se trouve dans de nombreux dossiers contenant des images, trop de les voir modifier les options de dossier pour voir systemfiles, retirez le systemfile et essayez de nouveau. Lorsque vous demandez à la taille d'un dossier, vous devez avoir accès à TOUS les dossiers et fichiers sous. Si vous essayez de votre script par exemple votre profilefolder vous ne serez certainement obtenir des erreurs, l'administrateur ou le propriétaire de ce dossier ou pas.
Dans le cas où cela pourrait aider, voici un script qui donne les attributs à partir d'un fichier
alors, quelle était la raison du message que le chemin est introuvable ?
J'accepte votre pari; voir mon jour de réponse.
Valeur 16 signifie "Dossier", pas de "Fichier"
ok, j'avoue j'aurais dit système de fichier ou de dossier
OriginalL'auteur peter
L' .Propriété de la taille d'un dossier est calculé à la volée. Donc, toutes les branches et les feuilles, dans ce sous-arbre est essentiel pour le succès de l'opération. Mon C:\ contient un système caché dossier "System Volume Information" qui je peux obtenir de la .Nom mais pas .Taille:
J'avoue que la "Permission denied" n'est pas "chemin d'accès introuvable", mais il semble probable que les attributs ou les autorisations pour certains sous-dossier(s) sont à blâmer.
Mise à JOUR
Pour les essais j'ai demandé à ma racine à gâcher un dossier sur mon linux qui est mappé
comme e:\bin. racine voit:
Sur linux, je suis autorisé à voir:
Deux faits importants: je ne suis pas autorisé à "examiner" la rootsown répertoire, de sorte
Je ne vois pas ou la taille bin/rootsown/x; mais la taille du bin/photos/x n'est pas un secret,
même si je suis interdit de lire, de modifier, ou de l'exécuter.
VBScript:
Vous pouvez obtenir le .Taille du dossier contenant méchant fichiers.
Vous ne pouvez pas obtenir le .De la taille d'un dossier contenant un méchant sub (sub...) dossier.
Vous obtenez un "Chemin d'accès introuvable" erreur lorsque vous demandez de l' .De la taille d'un méchant dossier
Sur cette base, je suis prêt à ramasser pierre pari. Si vous pouvez prouver que
en modifiant les attributs ou les autorisations d'un fichier vous pouvez faire le parent
du dossier .La taille de réussir resp. fail, je vais payer 10 Euros,- à la prochaine personne sans abri
Je rencontre.
L'humble dir:
Pour obtenir la taille d'un dossier, je voudrais tout d'abord essayer
Il semble que dir sait ce que je suis autorisé à le connaître et qu'il n'est pas indûment
perturbé par mauvais dossiers.
Un script qui utilise dir:
exemple d'utilisation:
De l'expression régulière pattern recherches de
Puis-je avoir .Taille ignorer les fichiers cachés?
oui, dir le fait automatiquement. Ma mise à jour contient un script qui permet d'utiliser des dir pour obtenir la taille d'un méchant dossier.
un dir donne les différentes valeurs de l'explorateur, sur mon profil de compte, il donne 25049 fichiers, 28.864.241.492 octets alors que dans l'explorateur 25.378 fichiers 28.971933.696 octets afin d'avoir une taille précise qu'il n'est pas utilisable, mais depuis Foxtrot n'a pas besoin de la taille précise qu'il n'a pas d'importance. S'il est prêt à débourser qui est en vbscript toujours l'option la plus rapide, il pourrait aussi utiliser WMI ne faire le travail, mais que serait l'option la plus lente à moins qu'il marchait à tous les dossiers et fichiers et fait le calcul lui-même
OriginalL'auteur Ekkehard.Horner