Page 1 sur 1

Taille du dossier "Mes documents"

Posté : 19 juil. 2010 19:12
par defarfouilleur
Bonjour,

Je ne suis pas expert en dos et ses commandes mais dans le cadre d'un petit projet j'aurais aimé listé la taille du répertoire "Mes documents" des utilisateurs dont je m'occupe.
J'ai trouvé la commande qui me permet de le faire , à savoir deux .bat

Le premier :

set p1=0
for /r C:\monrepertoire %%i in (*.*) do set /a p1=!p1!+%%~zi/1000
echo %p1%

et le second

cmd /v:on /c premier.bat


la problématique est que dans le parc des utilisateurs deux OS sont présents : Windows 2000 (poste non changé) et Windows Vista (poste neuf). Le chemin de "Mes documents" étant différent pour les deux OS voilà comment j'ai adapté le script :

le premier :

set p1=0
for /r "C:\Documents and Settings\%username%\Mes documents" %%i in (*.*) do set /a p1=!p1!+%%~zi/1000
echo %username% %p1% >> S:\repertoire\win2000.txt
for /r C:\Users\%username%\Documents %%i in (*.*) do set /a p1=!p1!+%%~zi/1000
echo %username% %p1% >> S:\repertoire\vista.txt

le deuxième restant inchangé.

Dans cette solution j'obtiens deux fichiers et lorsque j'exécute ce .bat sur un poste vista il incrémente le fichier win2000 du user et de la valeur 0 et le fichier vista du user et de la taille du répertoire et inversement pour les postes en 2000.

Ca fonctionne mais c'est pas très fonctionnel , j'aurais aimé utilisé une gestion d'erreur du type "if %p1% ==0 goto (deuxième combinaison)afin d'incrémenté qu'un seul fichier mais en ayant testé plusieurs combinaison et bien je reste bloqué.

Y aurait il une âme charitable qui puisse éclairer ma lanterne ?

Merci d'avance

Re: Taille du dossier "Mes documents"

Posté : 21 juil. 2010 16:13
par DarkBatcher
Bonjour,

tu n'as pas besoin d'utiliser deux combinaisons, il suffit d'utiliser la variable d'environnement %USERPROFILE% qui contient le chemin du dossier de l'utilisateur connecté

en plus il y a 1024 octets dans un ko :D

Code : Tout sélectionner

for /r "%USERPROFILE%\Mes documents" %%i in (*.*) do set /a p1=!p1!+%%~zi/1024
echo %username% %p1% >> S:\repertoire\fichier.txt