Fichier De Commandes Pour Afficher La Taille Des Répertoires
Salut les gars, je me demandais si u peut m'aider à modifier ce script que j'ai été jouer avec, je ne peux pas l'obtenir à accepter des génériques charcters '*'
@echo off
setLocal EnableDelayedExpansion
set /a value=0
set /a sum=0
FOR /R %1 %%I IN (*) DO (
set /a value=%%~zI/1024
set /a sum=!sum!+!value!
)
@echo Size is: !sum! k
Son dans un fichier batch appelé dirsize et est appelé comme
dirsize c:\folder
Je veux vérifier les tailles de dossier pour moi, celui-là est un exemple, le cache dans firefox
dirsize C:\users\%username%\AppData\Local\Mozilla\Firefox\*.default\Cache
Renvoie la valeur 0
Mais si je vais
dirsize C:\users\%username%\AppData\Local\Mozilla\Firefox\sr1znnb4.default\Cache
Il fonctionne et j'obtiens la valeur 55322 retourné.. Aider moi s'il vous plaît? Je vous remercie à l'avance le genre de personnes
Envisager de faire de la première ligne: @SI NON DÉFINIE _ECHO ECHO OFF puis vous pouvez définir _ECHO lors du débogage.
Merci, cela a fonctionné pour moi!
Merci, cela a fonctionné pour moi!
OriginalL'auteur | 2009-04-17
Vous devez vous connecter pour publier un commentaire.
PowerShell rend cela facile, bien sûr:
Et PowerShell est déjà installé sur Windows 7. Obtenir sur le train en marche! 🙂
Aussi,
C:\users\%USERNAME%\AppData\
n'est pas un moyen fiable de trouver AppData. Essayez%APPDATA%
(ou$env:APPDATA
dans PowerShell).OriginalL'auteur Jay Bazuzi
Ok pour un démarreur, permet de dire que les caractères génériques ne sont pas bien pris en charge tout au long de fichiers par lots, et spécialement dans pour les boucles.
C'est ce que je suis venu avec:
DirSize.cmd "chemin d'accès valide"
___Usage___
Argument: doit être un chemin d'accès (pas un fichier) qui contiennent des caractères génériques ou pas. Chemin d'accès ont besoin d'être valide lors de la saisie de dir chemin
___Notes___
Ce script ne vérifie tous les fichiers et sous-répertoires, même cachés/système.
modifier la dir /a argument et ajouter -h-s (comme /ad-h-s) pour supprimer ce comportement.
J'ai révisé la vérification argument à mon goût, donc je pense qu'il est utilisable.
J'espère que cette aide.
Je suis content que ce peut être de l'aide à nouveau. Code de la ré-utilisation, le meilleur 🙂
OriginalL'auteur Jay
Vous devez envelopper ce que vous avez actuellement dans un autre
for
boucle qui s'étend de la*
dans une série de répertoires.Donc
pourrait fonctionner (non testé, mais, mais devrait vous donner l'idée générale)
OriginalL'auteur Joey
Si vous avez une version de Windows de
grep
(vous pouvez en trouver un à Les utilitaires GNU pour Win32), vous pouvez faire quelque chose comme ceci:OriginalL'auteur Patrick Cuff
Ce code permettra d'augmenter la taille de répertoire limite maximum de 2 000 000 de la TUBERCULOSE et affichera plus de taille réelle, ce qui serait utile si le dossier contient trop de fichiers.
OriginalL'auteur Олександр Іванків
10x plus rapide que de le faire à travers.
Avec l'avantage d'être en mesure d'utiliser l'un quelconque des permis paramètres de la commande DIR (dans ce cas /S)
Résultat de sortie exemple:
(dans l'exemple, la routine a pris 3 secondes pour calculer la taille de C: \ WINDOWS avec une taille de 28GB)
OriginalL'auteur PHC