Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    [PowerShell su Windows 7 64bit] Codice per copia file

    a tutti

    Io periodicamente dovrei copiare dei file e cartelle da vari percorsi di c: a altri percorsi in D: sovvrascrivendo i file vecchi.

    Per non fare questa operazione manualmente che comporta una certa perdita di tempo avrei pensato di farla con un'applicazione in PowerShell che esegua l'operazione automaticamente (cioè cliccando sul file creato da powershell come si potrebbe fare con un file .bat).

    Non conoscendo il linguaggio PowerShell spererei in un'anima generosa che mi fornisca il codice.

    Ringrazio find'ora

    Ciao

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Prima bozza

    codice:
    $origine = 'C:\origine1','c:\origine2'
    foreach($path in $origine) {
    copy-item $path -destination d:\ -recurse -force 
    }
    La variabile origine contiene un elenco di percorsi di origine che verranno ciclati e ciascuno di essi (comprensivo di sottocartelle) verra copiato su d.
    Lo switch -recurse consente la copia ricorsiva mentre -force permette la sovrascrittura di ciò che già esiste.

  3. #3
    Grazie nicola75ss!!

    Io però vorrei sovrascrivere solo quelli con la data più vecchia e non tutti per risparmiare tempo nell'operazione considerato che l'elenco da copiare è di molti giga e quelli da sovrascrivere sono una minima parte.

    Di nuovo grazie

    Ciao

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Mi sa che allora ti conviene usare una delle tante utility apposite, tipo syncback o simili.

  5. #5
    Originariamente inviato da nicola75ss
    Mi sa che allora ti conviene usare una delle tante utility apposite, tipo syncback o simili.
    Allora potrei provare con un file .bat con il comando DOS robocopy, solo che tra le tante opzioni non sono sicuro di quella migliore per sovrascrivere solo i file più vecchi, la più adatta mi sembra /IT, queste sono le opzioni disponibili, voi che ne dite?

    -------------------------------------------------------------------------------
    ROBOCOPY :: Copia di file efficace per Windows
    -------------------------------------------------------------------------------

    Avviato: Tue Jun 14 16:05:03 2011

    Sintassi :: ROBOCOPY origine destinazione [file [file]...] [opzioni]

    origine :: directory di origine (unit…:\percorso o
    \\server\condivisione\percorso).
    destinazione :: directory di destinazione (unit…:\percorso o
    \\server\condivisione\percorso).
    file :: file da copiare (nomi/caratteri jolly: l'impostazione
    predefinita Š "*.*").

    ::
    :: Opzioni di copia:
    ::
    /S :: copia le sottodirectory non vuote.
    /E :: copia le sottodirectory, incluse quelle vuote.
    /LEV:n :: copia solo i primi n livelli dell'albero di
    directory di origine.

    /Z :: copia i file in modalit… di riavvio.
    /B :: copia i file in modalit… di backup.
    /ZB :: usa la modalit… di riavvio; in caso di accesso negato
    usa la modalit… di backup.
    /EFSRAW :: copia tutti i file crittografati in modalit… RAW EFS.

    /COPY:flagcopia :: indica gli elementi dei file da copiare
    (impostazione predefinita /COPYAT).
    (flag copia : D=dati, A=attributi, T=timestamp).
    (S=sicurezza=ACL NTFS, O=informazioni proprietario,
    U=informazioni controllo).

    /DCOPY:T :: copia i timestamp delle directory.

    /SEC :: copia i file con sicurezza (equivale a /COPYATS).
    /COPYALL :: copia tutte le informazioni dei file (equivale a
    /COPYATSOU).
    /NOCOPY :: non copia alcuna informazione dei file (utile con
    /PURGE).

    /SECFIX :: aggiorna la sicurezza su tutti i file, anche quelli
    ignorati.
    /TIMFIX :: corregge l'ora di tutti i file, anche quelli ignorati.

    /PURGE :: elimina i file e le directory di destinazione non pi—
    esistenti nell'origine.
    /MIR :: esegue il mirroring di un albero di directory
    (equivale a /E pi— /PURGE).

    /MOV :: sposta i file (li elimina dall'origine dopo la copia).
    /MOVE :: sposta i file e le directory (li elimina dall'origine
    dopo la copia).

    /A+:[RASHCNET] :: aggiunge gli attributi specificati ai file copiati.
    /A-:[RASHCNET] :: rimuove gli attributi specificati dai file copiati.

    /CREATE :: crea solo alberi directory e file vuoti.
    /FAT :: crea file di destinazione usando solo nomi FAT 8.3.
    /256 :: disattiva il supporto dei percorsi pi— lunghi di 256
    caratteri.

    /MON:n :: monitorizza l'origine; eseguito di nuovo se rileva
    pi— di n modifiche.
    /MOT:m :: monitorizza l'origine; eseguito di nuovo dopo m minuti
    in caso di modifiche.

    /RH:hhmm-hhmm :: ore di esecuzione i cui Š possibile avviare nuove
    copie.
    /PF :: controlla le ore di esecuzione in base al file
    (non al passaggio).

    /IPG:n :: scarto tra pacchetti (ms), per liberare larghezza
    di banda su linee lente.

    /SL :: copia i collegamenti simbolici rispetto alla destinazione.

    /MT[:n] :: esegue copie in multithreading con n thread (valore predefinito 8).
    n deve essere almeno 1 e non pu• essere maggiore di 128.
    Questa opzione non Š compatibile con le opzioni /IPG e /EFSRAW.
    Reindirizza l'output con l'opzione /LOG per ottenere migliori prestazioni.

    ::
    :: Opzioni di selezione dei file:
    ::
    /A :: copia solo i file con l'attributo di archivio.
    /M :: copia solo i file con l'attributo di archivio e lo
    reimposta.
    /IA:[RASHCNETO] :: include solo i file con gli attributi specificato.
    /XA:[RASHCNETO] :: esclude i file con gli attributi specificati.

    /XF file [file]... :: esclude i file corrispondenti ai nomi, ai percorsi
    o ai caratteri jolly specificati.
    /XD dir [dir]... :: esclude le directory corrispondenti ai nomi o ai
    percorsi specificati.

    /XC :: esclude i file modificati.
    /XN :: esclude i file pi— recenti.
    /XO :: esclude i file pi— vecchi.
    /XX :: esclude i file e le directory supplementari.
    /XL :: esclude i file e le directory isolate.
    /IS :: include i file uguali.
    /IT :: include i file variati.

    /MAX:n :: dimensione massima dei file, esclude i file con
    dimensione superiore a n byte.
    /MIN:n :: dimensione minima dei file, esclude i file con
    dimensione inferiore a n byte.

    /MAXAGE:n :: data file massima, esclude i file anteriori alla data
    o ai giorni indicati da n.
    /MINAGE:n :: data file minima, esclude i file posteriori alla data
    o ai giorni indicati da n.
    /MAXLAD:n :: data massima di ultimo accesso, esclude i file non
    utilizzati dalla data indicata da n.
    /MINLAD:n :: data minima di ultimo accesso, esclude i file
    utilizzati a partire dalla data indicata da n.
    (Se n < 1900 allora n = n giorni, altrimenti n = data
    in formato YYYYMMDD).

    /XJ :: esclude i punti di giunzione (inclusi per impostazione
    predefinita).

    /FFT :: imposta la modalit… oraria dei file FAT
    (granularit… di 2 secondi).
    /DST :: compensa le differenze dovute all'ora legale.

    /XJD :: esclude i punti di giunzione per le directory.
    /XJF :: esclude i punti di giunzione per i file.

    ::
    :: Opzioni per i nuovi tentativi:
    ::
    /R:n :: numero di nuovi tentativi per le copie non riuscite
    (impostazione predefinita 1 milione).
    /W:n :: tempo di attesa tra tentativi (impostazione
    predefinita 30 secondi).

    /REG :: salva /R:n e /W:n nel Registro di sistema come
    impostazioni predefinite.

    /TBD :: attende la definizione dei nomi di condivisione
    (errore 67).

    ::
    :: Opzioni di registrazione:
    ::
    /L :: elenca i file senza copiarli, eliminarli o
    aggiungere il timestamp.
    /X :: indica tutti i file supplementari, non solo quelli
    selezionati.
    /V :: genera un output dettagliato, inclusi i file ignorati.
    /TS :: include nell'output i timestamp dei file di origine.
    /FP :: include nell'output il percorso completo dei file.
    /BYTES :: stampa le dimensioni in byte.

    /NS :: non registra le dimensioni dei file.
    /NC :: non registra le classi dei file.
    /NFL :: non registra i nomi dei file.
    /NDL :: non registra i nomi delle directory.

    /NP :: non visualizza la percentuale dello stato di copia.
    /ETA :: mostra il tempo stimato di completamento dei file
    copiati.

    /LOG:file :: invia l'output dello stato nel file specificato
    (sovrascrive il file esistente).
    /LOG+:file :: invia l'output dello stato nel file specificato (lo
    aggiunge se il file esiste).

    /UNILOG:file :: invia l'output dello stato nel file specificato
    come UNICODE (sovrascrive il file esistente).
    /UNILOG+:file :: invia l'output dello stato nel file specificato
    come UNICODE (lo aggiunge se il file esiste).

    /TEE :: invia l'output alla finestra della console e nel
    file di registro.

    /NJH :: non visualizza l'intestazione del processo.
    /NJS :: non visualizza il riepilogo del processo.

    /UNICODE :: genera l'output dello stato come UNICODE.

    ::
    :: Opzioni di processo:
    ::
    /JOB:nomeprocesso :: usa i parametri del file di processo denominato.
    /SAVE:nomeprocesso :: salva il parametri nel file di processo denominato.
    /QUIT :: esce dopo l'elaborazione della riga di comando per
    visualizzare i parametri.
    /NOSD :: non specifica alcuna directory di origine.
    /NODD :: non specifica alcuna directory di destinazione.
    /IF :: include i file specificati.
    Grazie Ciao

  6. #6
    prova uranium backup fa la cosa che chiedi te se far (o farti fare) un programma apposito.

  7. #7
    Grazie del suggerimento, ho scaricato il programma da te consigliato ma prima di installarlo vorrei capire il significato di questa parte dell tua risposta
    Originariamente inviato da SuperMariano81
    ...se far (o farti fare) un programma apposito.
    Grazie

  8. #8
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Io uso questa
    codice:
    ROBOCOPY E:\FW\Dati F:\BUT\BUD\z01\DatFW /PURGE /E
    oppure
    ROBOCOPY E:\FW\Dati F:\BUT\BUD\z01\DatFW /MIR
    Ti mantiene una copia identica di quanto ti interessa.

    Elimina i file eliminati
    Sovrascrive i file variati
    Non fa nulla a tutti gli altri file


  9. #9
    Originariamente inviato da nman
    Io uso questa
    codice:
    ROBOCOPY E:\FW\Dati F:\BUT\BUD\z01\DatFW /PURGE /E
    oppure
    ROBOCOPY E:\FW\Dati F:\BUT\BUD\z01\DatFW /MIR
    Ti mantiene una copia identica di quanto ti interessa.

    Elimina i file eliminati
    Sovrascrive i file variati
    Non fa nulla a tutti gli altri file

    Io ho solo bisogno di sovrascrivere i file vecchi e non sovrascrivere i file uguali, che ne pensi del parametro
    codice:
    /IT :: include i file variati

  10. #10
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Io periodicamente dovrei copiare dei file e cartelle da vari percorsi di c: a altri percorsi in D: sovvrascrivendo i file vecchi.
    _____________________________________________
    Io ho SOLO bisogno di sovrascrivere i file vecchi e non sovrascrivere i file uguali, che ne pensi del parametro .......
    ___ Alcune domande ____

    Si tratta di un BakUp ???

    Cosa intendi esattamente per file vecchi ???
    ___Quelli precedenti a una certa data fissa
    ___Quelli precedenti a una certa data variabile in funzione della data attuale
    ___Quelli modificati in C: rispetto a quanto presente in D:
    ___Opure cos'altro

    Se un file viene eliminato da C: cosa deve succedere in D:
    ___Viene eliminato anche da D:
    ___Non viene eliminato da D:

    Se viene creato un file in C: cosa deve succedere in D:
    ___Viene creato lo stesso File in D:
    ___Non viene creato lo stesso file in D:

    Se viene rinominato un file in C: cosa deve succedere in D:
    ___Viene eliminato e Ricreato in D:
    ___Non viene eliminato ma viene Ricreato in D: ( avresti 2 file uguali nel contenuto e diversi nel nome)

    Saluti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.