Visualizza messaggio singolo
Vecchio 10-05-2013, 13.42.04   #14
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Rif: modificare script backup con winrar

Notevole caro ragazzo.
Devi predisporre una variabile che contenga la data odierna - 1 giorno.
E' possibile ricavare i tokens a video dell'output di date /T (che poi è uno solo, in effetti)
Es: 10/05/2013 - 1 è uguale a 09/05/2013. Non sarà così difficile, poichè bisogna togliere 1 a 10
01/05/2013 - 1 è uguale a 30/04/2013, quindi il token 1 deve essere 30, il due deve essere 04
Ora, se trasformi in un intero lungo una qualsiasi data (come in realtà è) e togli da essa un numero di secondi equivalenti a 24h, tu ragioni sui numeri, come il PC, ma poi devi ritrasformarlo in data con maschera gg/mm/aaaa.
Il file txt deve contenere non solo il nome del file, ma anche il percorso ad esso relativo.
E' possibile ricavare i tokens a video dell'output di dir (con parametri coerenti in base alla data ricavata prima), ma ad ogni cambio di cartella, devi tenerne traccia, aggiungendo ai successivi tokens il percorso.
L'intera procedura batch è già un file. Nessun problema. (Se vuoi leggere il contenuto, basta che digiti type file.bat)
Se vuoi creare un file di log all'interno del batch, devi utilizzare l'operatore ">>" che funziona da "redirezionamento su altro device in aggiunta riga", ma devi aggiungere, per ogni comando, @echo comando >> file, cioè un doppione all'interno del file batch che viene interpretato come output sul file.
"@" davanti indica di non mostrare a video il comando elaborato.
Occhio che l'output a video, elaborato da ogni singolo comando o utility, deve essere predisposto per il redirezionamento, ossia l'utility che utilizzi deve mostrare a video le stringhe in stream.

es:
il batch contiene:
dir c:\ /s>>c:\123
il file C:\123 conterrà l'output di dir

Se il batch contiene:
@echo dir c:\ /s >> c:\123
dir c:\ /s>>c:\123
il file C:\123 contiene anche il comando interpretato, oltre che l'output di dir

Per l'inoltro via mail, potresti cercare un utility simile a sendmail.
Oppure puoi anche mettere in pausa il batch in attesa che l'applicativo grafico che utilizzi abbia finito di inviare l'email e poi procedere nell'esecuzione sequenziale dei comandi contenuti nel batch, ma mi sembra poco professionale.
Non puoi utilizzare telnet poichè esso NON acquisisce caratteri in pipe, pertanto non è utilizzabile nei batch (security reasons first of all).
Dimenticavo una cosa importante:
Con ERRORLEVEL puoi intervenire sui jump label all'interno dei batch per modificare il flowing dei comandi in sequenza. ERRORLEVEL ricava il codice in return dell'utility o del comando interpretato da parte dell'interprete dei comandi.

A monte di tutto: Devi per forza usare 7zip ?
Non puoi cercare un'utility gratuita con gli switch di winrar ? (follow post #12)
LoryOne non è collegato   Rispondi citando