none
Batch script per Controllare le dimensioni di una directory RRS feed

Risposte

  • Ecco un esempio di batch che usa powershell

    :: DirSize.cmd
    :: Conviene usare powershell per non complicarsi troppo la vita
    @echo off
    
    powershell  ((dir %1 -recurse ^|Measure-Object -Property length  -Sum).sum /1GB)
    echo ------------------
    for /f  %%S in ('powershell -command  "$a=gci  -recurse  %1;$a|Measure-Object -Property length  -sum|select-object sum"') do call set S=%%S
    echo Size %S%
    if %S% GTR 1000 echo Maggiore di 1000
    echo ------------------
    
    set Unita=kb
    powershell   '{0:.##} %unita%'  -f  ((dir %1 -recurse ^|Measure-Object -Property length  -Sum).sum /1%Unita%)
    set Unita=mb
    powershell   '{0:.##} %unita%'  -f  ((dir %1 -recurse ^|Measure-Object -Property length  -Sum).sum /1%Unita%)
    :: senza usare ps
    for /f "tokens=*" %%a in ('dir * /s /x ^|find /i "file"') do call set s=%%a
    echo %s%



    Gastone Canali >


    Se alcuni post rispondono al tuo quesito, ricorda di contrassegnarli come risposta e non dimenticare anche i post utili. GRAZIE! Dai un occhio ai link Click Here and Here Leaderboard Here


    sabato 23 gennaio 2021 23:30
    Moderatore

Tutte le risposte

  • Ecco un esempio di batch che usa powershell

    :: DirSize.cmd
    :: Conviene usare powershell per non complicarsi troppo la vita
    @echo off
    
    powershell  ((dir %1 -recurse ^|Measure-Object -Property length  -Sum).sum /1GB)
    echo ------------------
    for /f  %%S in ('powershell -command  "$a=gci  -recurse  %1;$a|Measure-Object -Property length  -sum|select-object sum"') do call set S=%%S
    echo Size %S%
    if %S% GTR 1000 echo Maggiore di 1000
    echo ------------------
    
    set Unita=kb
    powershell   '{0:.##} %unita%'  -f  ((dir %1 -recurse ^|Measure-Object -Property length  -Sum).sum /1%Unita%)
    set Unita=mb
    powershell   '{0:.##} %unita%'  -f  ((dir %1 -recurse ^|Measure-Object -Property length  -Sum).sum /1%Unita%)
    :: senza usare ps
    for /f "tokens=*" %%a in ('dir * /s /x ^|find /i "file"') do call set s=%%a
    echo %s%



    Gastone Canali >


    Se alcuni post rispondono al tuo quesito, ricorda di contrassegnarli come risposta e non dimenticare anche i post utili. GRAZIE! Dai un occhio ai link Click Here and Here Leaderboard Here


    sabato 23 gennaio 2021 23:30
    Moderatore
  • Grazie per la tua cortese risposta.
    Purtroppo ho capito ben poco dello script che hai postato.
    Ti faccio un esempio concreto:
    premetto che nel server ho 13 user e dovei controllare ogni 60 minuti la directory 'Data' di ogni user
    ad esempio per l'user 001
    C:\Users\user001\AppData\Local\care\data\
    Lo script dovrebbe segnalarmi quando la direcotory 'Data' è rimasta inattiva, oppure non è aumentato di oltre 5 MB.
    Lo script potrebbe creare un file data-ora.txt dove scrivere gli user inattivi:
    user001 Data < 5Mb - Lettura precedente= XXXMb  -  Lettura attuale = XXXMb  -  Incremento XXXBb
    user004 Data < 5Mb - Lettura precedente= XXXMb  -  Lettura attuale = XXXMb  -  Incremento XXXBb
    user013 Data < 5Mb - Lettura precedente= XXXMb  -  Lettura attuale = XXXMb  -  Incremento XXXBb
    Puoi aiutarmi? 
    Grazie
    Gh
    lunedì 25 gennaio 2021 13:10