Question

Je veux savoir comment l'espace disque est utilisé par les fichiers zip (ou toute autre extension) dans un arbre de répertoire particulier. Est-ce possible sur la ligne de commande (dans un programme de traitement par lots)?

Je peux les énumérer, à savoir: dir / s * .zip ou en utilisant des "forfiles": forfiles / p d: \ WINCAP / s / m * .zip / c "cmd / c echo @fsize"

J'ai besoin dans un programme de traitement par lots, parce que je veux exécuter sur les serveurs 100+ (W2K3). Je suis habitué à unix / linux et dos me donne un mal de tête;)

Idées?

Merci! Ron

Était-ce utile?

La solution

Voici une version modifiée de celle trouvée: http: // en.kioskea.net/forum/affich-42442-dos-command-batch-file-to-find-a-folder-size

@echo off
setLocal EnableDelayedExpansion
set /a value=0
set /a sum=0 
FOR /R %1 %%I IN (%2) DO (
set /a value=%%~zI/1024/1024
set /a sum=!sum!+!value!
)
@echo Size is: !sum!  MB

Afin d'éviter les débordements, il convertit les valeurs de Mo tout de suite il arrondit et donc sous-rapport du total, mais nous espérons que cela vous met sur la bonne voie au moins. Enregistrer comme dirsize.bat et l'appeler avec le répertoire comme premier paramètre et le motif pour correspondre comme deuxième:

dirsize c:\ *.zip

Autres conseils

Vous pouvez essayer commande, peut-être peut aider à exécuter la commande à distance.
Exemple: sur DOS > at \\localhost dir /s *.zip d'écriture (localhost peut être 192.bla.bla.bla, ce que vous voulez appeler à distance)


Une aide supplémentaire

The AT command schedules commands and programs to run on a computer at
a specified time and date. The Schedule service must be running to use
the AT command.

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
    [ /EVERY:date[,...] | /NEXT:date[,...]] "command"

\\computername     Specifies a remote computer. Commands are scheduled on the
                   local computer if this parameter is omitted.
id                 Is an identification number assigned to a scheduled
                   command.
/delete            Cancels a scheduled command. If id is omitted, all the
                   scheduled commands on the computer are canceled.
/yes               Used with cancel all jobs command when no further
                   confirmation is desired.
time               Specifies the time when command is to run.
/interactive       Allows the job to interact with the desktop of the user
                   who is logged on at the time the job runs.
/every:date[,...]  Runs the command on each specified day(s) of the week or
                   month. If date is omitted, the current day of the month
                   is assumed.
/next:date[,...]   Runs the specified command on the next occurrence of the
                   day (for example, next Thursday).  If date is omitted, the
                   current day of the month is assumed.
"command"          Is the Windows NT command, or batch program to be run.

si vous pouvez télécharger sur votre ordinateur étoffes, vous pouvez toujours utiliser des outils unix, comme du.

du *zip

consultez outils GNU .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top