Autore Topic: Eseguire script batch prima dello spegnimento  (Letto 17389 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline sergran

  • *
  • Post: 48
  • Karma: 0
Eseguire script batch prima dello spegnimento
« il: 28/07/2012, 17:06 »
Ciao a tutti... spero dia ver scelto la sezione corretta...
avrei bisogno del vostro aiuto
Vi riporto il contenuto di un bat.. funziona ma spegne windows prima di terminare il processo di backup
Grazie!!
--------
@echo off
@for /F "tokens=1 delims=, " %%i In ('powershell date') do set dow=%%i
set dow=%dow:~0,3%
echo %dow%
if %dow%==lun start /wait "C:\Windows\System32\robocopy.exe" N:\Lavoro D:\Backup_lavoro\lunedi\Lavoro /mir
if %dow%==lun start /wait "C:\Windows\System32\robocopy.exe" N:\Lavoro_consegna D:\Backup_lavoro\lunedi\Lavoro_consegna /mir
if %dow%==lun start /wait "C:\Windows\System32\robocopy.exe" C:\Users\Sergio\AppData\Local\Microsoft\Outlook D:\Backup_lavoro\lunedi\Email /mir
Shutdown.exe -s -t 00

Offline Max

  • Amministratore
  • *****
  • Post: 2.428
  • Karma: 114
    • Eng2ita.net
RE: Eseguire script batch prima dello spegnimento
« Risposta #1 il: 29/07/2012, 17:19 »
Il problema sta nell'ultima riga, al posto di 00 metti il numero di secondi di attesa prima dello spegnimento.


Offline soniaa

  • *
  • Post: 2
  • Karma: 0
RE: Eseguire script batch prima dello spegnimento
« Risposta #2 il: 03/08/2012, 09:38 »
ciao, intervengo forse un po a sproposito, in quanto in questo momento non ricordo il comando e la sintassi,
ma esiste un comando appunto che serve a fare eseguire l'istruzione successiva solo dopo che la precedente e' stata portata a termine,
magari dandoti questo indizio puoi cercarlo anche tu, perche in questo momento proprio non me lo ricordo....ma se vi viene in mente te lo segnalero...

Offline BAT

  • Moderatore cattivo
  • Eng2ita Staff
  • ***
  • Post: 1.737
  • Karma: 151
  • La conoscenza è potere. La conoscenza rende liberi
    • La conoscenza è potere. La conoscenza rende liberi
RE: Eseguire script batch prima dello spegnimento
« Risposta #3 il: 03/08/2012, 09:43 »
in questo momento non ricordo il comando e la sintassi,
ma esiste un comando appunto che serve a fare eseguire l'istruzione successiva solo dopo che la precedente e' stata portata a termine,
è il comando start /wait (in alternativa col parametro abbreviato  start /w). peraltro usato nello script precedente
Blog: https://zerozerocent.blogspot.com
Legge di Murphy: SE QUALCOSA PUO' ANDAR MALE CI ANDRA'
Versione quantistica della legge di Murphy: TUTTO VA MALE CONTEMPORANEAMENTE

Offline sergran

  • *
  • Post: 48
  • Karma: 0
RE: Eseguire script batch prima dello spegnimento
« Risposta #4 il: 03/08/2012, 10:18 »
Vi ringrazio.... purtroppo con questo comando non funziona...
il comando Shutdown.exe -s -t 60 l'ho inserito perchè ora il backup lo avvio manualmente
Io invece avevo il desiderio che il comando partisse allo spegnimento del Windows. In pratica ho caricato il file bat all'arresto di Windows ( tramite il comando gpedit ) ma windows si chiude prima

Offline sergran

  • *
  • Post: 48
  • Karma: 0
RE: Eseguire script batch prima dello spegnimento
« Risposta #5 il: 03/08/2012, 10:23 »
... anche se lo devo far partire io  manualmente non c'è problema... mi servirebbe solamente sapere il comando per far chiudere in automatico dei programmi solo se non ci sono file aperti e non salvati
Vi faccio un es. così sono più chiaro. Se ho Excell aperto e ho una tabella che dev'essere ancora salvata, in chiusura di windows, mi viene segnalato che il file dev'essere salvato. Avrei bisogno di una cosa simile. IN pratica, se i file non sono salvati, non dovrebbe aprtire il backup
grazie a tutti

Offline Max

  • Amministratore
  • *****
  • Post: 2.428
  • Karma: 114
    • Eng2ita.net
RE: Eseguire script batch prima dello spegnimento
« Risposta #6 il: 03/08/2012, 12:46 »
In pratica ho caricato il file bat all'arresto di Windows ( tramite il comando gpedit ) ma windows si chiude prima

Quindi sei andato in Configurazione computer.
Prova a caricare il file bat in Configurazione utente > Impostazioni di Windows > Script (Accesso / Fine Sessione)

mi servirebbe solamente sapere il comando per far chiudere in automatico dei programmi solo se non ci sono file aperti e non salvati

Il comando per chiudere un processo (ad esempio Excel) senza forzarne la chiusura è :
Codice: [Seleziona]
Taskkill /IM excel.exe
Invece se si vuole chiudere Excel a prescindere che il contenuto sia stato salvato o meno:
Codice: [Seleziona]
Taskkill /IM excel.exe /f
PS: Ho rinominato la discussione, come da regolamento:
Citazione
2) Date alla discussione un'intestazione significativa e comprensibile


Offline sergran

  • *
  • Post: 48
  • Karma: 0
Re: Eseguire script bat prima dello spegnimento
« Risposta #7 il: 03/08/2012, 13:16 »
oppssss... grazie e scusa... ti pongo anocra una domanda:lo stesso comadno posso utilizzarlo per un programma di Adobe Photoshop? In modo da ottenerne la  chiusura senza forzare?

Offline Max

  • Amministratore
  • *****
  • Post: 2.428
  • Karma: 114
    • Eng2ita.net
Re: Eseguire script bat prima dello spegnimento
« Risposta #8 il: 03/08/2012, 13:28 »
oppssss... grazie e scusa... ti pongo anocra una domanda:lo stesso comadno posso utilizzarlo per un programma di Adobe Photoshop? In modo da ottenerne la  chiusura senza forzare?

Dovrebbe funzionare correttamente per tutti i software applicativi di una certa importanza.
D'altra parte è un comando che si limita a chiamare una funzione già esistente nel software.


Offline Mr.X

  • Eng2ita Staff
  • ***
  • Post: 616
  • Karma: 77
Re: Eseguire script batch prima dello spegnimento
« Risposta #9 il: 03/08/2012, 16:24 »
Vedo che sono stati fatti degli adattamenti per far lavorare lo script di backup, ma riallacciandosi ai primi post
Citazione
funziona ma spegne windows prima di terminare il processo di backup
 e  
Citazione
Vi ringrazio.... purtroppo con questo comando non funziona...
il comando Shutdown.exe -s -t 60 l'ho inserito perchè ora il backup lo avvio manualmente
Io invece avevo il desiderio che il comando partisse allo spegnimento del Windows.
mi sono personalizzato lo script per quanto riguarda la sintassi, le cartelle di source e destination, ma, soprattutto la data odierna %dow%==ven (oggi è venerdì) altrimenti il backup non partirà mai  ::)
Codice: [Seleziona]
@echo off
@for /F "tokens=1 delims=, " %%i In ('powershell date') do set dow=%%i
set dow=%dow:~0,3%
set source=F:\GIULIA - 10 maggio 2006
set destin=X:\GIULIA - 10 maggio 2006
echo  Backup del giorno %dow%
if %dow%==ven start /wait robocopy "%source%" "%destin%" /MIR"
Shutdown.exe -s -t 30
A me lo script funziona correttamente  :)
Voglio ricordare che per annullare lo shutdown basta impartire un shutdown -a ; sperando che il tutto possa risultare utile.
« Ultima modifica: 03/08/2012, 16:41 da MISTER X ® »

Offline sergran

  • *
  • Post: 48
  • Karma: 0
Re: Eseguire script batch prima dello spegnimento
« Risposta #10 il: 03/08/2012, 18:46 »
Grazie 1000!!!!

Offline sergran

  • *
  • Post: 48
  • Karma: 0
Re: Eseguire script batch prima dello spegnimento
« Risposta #11 il: 09/08/2012, 08:22 »
Ciao a tutti, ho porvato la procedura consigliatami e purtroppo anche col comando start/wait non riesce a copiare tutti i file... preciso che si tratta di una copia di 3 Gb di materiale... se non inserisco il comando Shutdown.exe -s -t 60
la copia avviene senza problemi. Non capisco come mai dal momento che lo spegnimento del pc dovrebbe avvenire solo alla fine della copia
Grazie
Ciao

Offline sergran

  • *
  • Post: 48
  • Karma: 0
Re: Eseguire script batch prima dello spegnimento
« Risposta #12 il: 25/08/2012, 10:06 »
Ciao a tutti, vorrei chiedere il vostro aiuto

Attualmente eseguo un backup specularedi una cartella madre utilizzando questo codice suggerito da un utente del forum.
Segue il codice

Echo off
@echo off
@for /F "tokens=1 delims=, " %%i In ('powershell date') do set dow=%%i
set dow=%dow:~0,3%
set source=D:\lavoro
set destin=I:\Backup_lavoro\lunedi\lavoro
echo  Backup del giorno %dow%
if %dow%==lun start /wait robocopy "%source%" "%destin%" /MIR"

Mi servirebbe poter ottenere che in una cartella a parte venissero copiati esclusivamente i file modificati il giorno stesso. Questo mi aiuterebbe a risparmaire tempo/banda per eseguire un backup online giornaliero.

Mi spiego meglio
Ho una cartella "C:\Cartella_madre" contenente a sua volta due sottocartelle "C:\Cartella_madre\sottocartella1" e "C:\Cartella_madre\sottocartella2" contenenti rispettivamente "1.txt", 2.txt" (nella sottocartella1) e "3.txt" e "4.txt" ( nella sottocartella2)
Se in giornata modifico il file "1.txt" e "3.txt" o aggiungo nuovi file avrei bisogno di ottenere questo risultato:

C:\backup_incrementale\sottocartella1\1.txt" e "C:\backup_incrementale\sottocartella2\3.txt"
Come potrei fare? Io sono "0" di porgrammazione
Potreste scrivermi il comando da inserire in un bat?
Grazie 1000 

Offline OnePiece

  • Eng2ita Friends
  • **
  • Post: 6.114
  • Karma: -3277
Re: Eseguire script batch prima dello spegnimento
« Risposta #13 il: 28/08/2012, 08:01 »
e molto semplice, dove ai dato il comando /MIR serve aggiungere altro secondo quello che cerchi fare, esempio comandi supportati http://ss64.com/nt/robocopy.html, come detto ai usato il /MIR che e il
/MIR : MIRror a directory tree - equivalent to /PURGE plus all subfolders (/E)

esempio dai un occhiata anche al
Codice: [Seleziona]

               /XO : eXclude Older - if destination file exists and is the same date
                     or newer than the source - don’t bother to overwrite it.
         /XC | /XN : eXclude Changed | Newer files
               /XL : eXclude "Lonely" files and dirs (present in source but not destination)
                     This will prevent any new files being added to the destination.
               /XX : eXclude "eXtra" files and dirs (present in destination but not source)
                     This will prevent any deletions from the destination. (this is the default)

e anche ai altri molti opzioni li ect ect ect

perché usare un file cmd ? quando ce già il Robocopy GUI fato proprio dal Developer Microsoft ?
consiglio il uso del Robocopy GUI ecco qui (dove troverai anche altri tool utili, ma in tuo caso serve il Robocopy che a sostituito il vecchio xCopy) http://technet.microsoft.com/en-us/magazine/cc135905.aspx

serviva solo cercare "Robocopy"  in campo di ricerca sopra e ti porterebbe subito al Microsoft Robocopy GUI PowerToy True AddOn


Ciao.
« Ultima modifica: 28/08/2012, 13:16 da OnePiece »
   

Offline sergran

  • *
  • Post: 48
  • Karma: 0
Re: Eseguire script batch prima dello spegnimento
« Risposta #14 il: 28/08/2012, 08:05 »
Grazie 1000!!!! Leggo il tutto e cerco di capire....
Cioa ;)