Taille du dossier "Mes documents"

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
defarfouilleur
Batcheur occasionnel
Messages : 1
Enregistré le : 19 juil. 2010 19:10

Taille du dossier "Mes documents"

Message 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
DarkBatcher
King Of Batch
Messages : 66
Enregistré le : 06 juil. 2010 17:37
Contact :

Re: Taille du dossier "Mes documents"

Message 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
Ce forum vous à aidé? Faites le vivre en vous connectant régulièrement et en répondant au questions posées sur le forum si vous avez une solution
Répondre