|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1352
|
Batch file RAR e esecuzione automatica
Salve ragazze, vorrei creare un file batch che mi faccia la seguenti cose:
1)prenda solo tutti i file con le estensioni che io voglio in una cartella e li comprima in RAR (per esempio, in una cartella contente 3 file .pdf, 4 file .doc e 4 file .ppt, io voglio che vengano presi solo i 3 file .pdf e 4 file .doc) 2)salvi questo file RAR con il nome della data e dell'ora dove è stato creato (quindi variabile), in una cartella specificata da me all'inizio (quindi fissa) Non credo sia molto difficile fare queste cose, ma non conosco la sintassi, soprattutto per quanto riguarda il nome variabile del file e la selettività delle estensioni. Poi vorrei che questo file batch venga eseguito automaticamente quando voglio io. Per esempio ogni ora, od ogni giorno a 2,3,4 ecc orari specificati. Anche questo credo non sia impossibile ma non so la sintassi o dove cercarla. Mi sapete aiutare? Grazie mille. EDIT: magari se la sintassi di winrar per fare quello al punto (1) non esiste, dò un suggerimento (ma anche in questo caso non sò la sintassi, però almeno sono sicuro che si può fare). Si crea una cartella "temporanea" dove si spostano i file con l'estensione voluta in questa cartella, si crea il RAR con il contenuto di quella cartella e poi si elimina la cartella temporanea.
__________________
Ho venduto a : truedocman2004,ragen-fio Ho acquistato da :shinakuma, britt-one Ultima modifica di The-Revenge : 03-09-2014 alle 13:37. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8697
|
Il "non conoscere" la sintassi mi sà di scusa per avere il batch bello e fatto
![]() Le command line si trovano nella cartella di WinRar, si chiamano rar.exe e unrar.exe, uno per comprimere mentre l'altro per estrarre. Richiama l'help in CMD per tutti i parametri, puoi comprimere-estrarre in base all'estensione. Una volta che hai finito il batch, per eseguire l'istruzione "quando vuoi" puoi usare Pianifica Attività / Utilità di pianificazione, strumento integrato in Windows. Non é difficilissimo usarlo ma se hai bisogno di una guida ne trovi quante ne vuoi su un motore di ricerca. EDIT: Per la data e l'ora ti risparmio la ricerca, esempio: Codice:
: x_Master_x @ECHO OFF Set sDATE=%DATE% Set sDATE=%sDATE:/=_% Set sTIME=%TIME% Set sTIME=%sTIME:.=_% Set sTIMEDATE=%sDATE%-%sTIME:~0,-6% Set sTIMEDATE=%sTIMEDATE: =% echo Filename_%sTIMEDATE%.rar Pause
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . Ultima modifica di x_Master_x : 03-09-2014 alle 15:39. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1352
|
Nono ti giuro nessuna scusa, ho preferito aprire il 3D e poi cercare che fare viceversa, cosi se non trovato nulla almeno avevate il tempo per rispondere
![]() Sta di fatto che in questa mezz'ora ho comunque trovato, incrociando più ricerche con google, la soluzione, ed è questa: Codice:
@echo off SET WINRAR=C:\Program Files\WinRAR SET BACKUP=C:\backup "%WINRAR%\rar.exe" a -agYYYYMMDDHHMM "%BACKUP%\Backup-" -ep1 -r -m3 @"filelist.lst" pause L'unica cosa che non sono riuscito a fare è integrare la lista di quei file nel bat, quindi sono "costretto" a tenere i due file nella stessa cartella, mentre avere un solo file bat da spostare dove volevo sul desktop era più comodo (certo, posso creare il collegamento, ma non proprio uguale). Per painifica attività ci ero arrivato anche solo, anche se il "minimo" che si può fare è 1 volta al giorno. Per la sintesi non era una scusa perchè ho cercato buoni 15 minuti su google la sintassi per i batch di winrar ma non trovavo nulla
__________________
Ho venduto a : truedocman2004,ragen-fio Ho acquistato da :shinakuma, britt-one |
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: May 2005
Messaggi: 8697
|
RAR ti permette di aggiungere automaticamente Data-Ora, il mio .bat ( che comunque funzionava ) non ti serve. Sostiuisci:
Codice:
-agYYYYMMDDHHMM Codice:
-agDD_MM_YYYY-HH_MM Codice:
Backup-03_09_2014-16_53.rar Codice:
"%WINRAR%\rar.exe" a "%BACKUP%\Backup-%sTIMEDATE%" -ep1 -r -m3 @"filelist.lst" Quote:
Codice:
: x_Master_x @ECHO OFF echo C:\Test\Myfile1.txt > filelist.lst echo C:\Test\Myfile2.txt >> filelist.lst echo C:\Test\Myfile3.txt >> filelist.lst echo Usa il filelist.lst nella commandline echo Quando hai finito cancellalo pause Del "filelist.lst" Quote:
![]() Altrimenti il forum sarebbe pieno di mille domande uguali fatte da persone che non hanno un minimo di voglia di risolvere da soli, non mi riferisco a te ma parlo in generale.
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . Ultima modifica di x_Master_x : 03-09-2014 alle 16:09. |
||
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1352
|
cia grazie per l'aiuto. Sto cercando di mettere tutto in una strinza "TESTO" cosi da dover, in caso, editare solo quella.
Per ciò ti volevo chiedere qual'è la stringa da usare per andare a capo. Cio' io voglio fare qualcosa del genere: Codice:
@echo off SET TESTO=C:\myfiles\*tex(comando)C:\myfiles\*bib echo %TESTO% >filelistprova.lst Inoltre volevo chiederti quale comando permette di commentare. EDIT: alla fine, smanettando ancora un po' ho trovato una soluzione che mi soddisfa abbastanza: Codice:
@( echo C:\myfiles\*tex echo C:\myfiles\*bib ) > filelist.lst SET WINRAR=C:\Program Files\WinRAR SET BACKUP=C:\backup "%WINRAR%\rar.exe" a -agDD_MM_YYYY-HH_MM "%BACKUP%\Backup-" -ep1 -r -m3 @"filelist.lst" del filelist.lst pause
__________________
Ho venduto a : truedocman2004,ragen-fio Ho acquistato da :shinakuma, britt-one Ultima modifica di The-Revenge : 03-09-2014 alle 20:47. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8697
|
Che io sappia non puoi andare a capo quando redirezioni l'output verso un file di testo, hai bisogno sempre di più linee:
Codice:
: x_Master_x @ECHO OFF Set NLM=^ Set NL=^^^%NLM%%NLM%^%NLM%%NLM% echo Queste sono%NL%due linee. pause echo Queste sono%NL%due linee > Test.txt echo Nel file non funziona pause Codice:
: Questo è un commento @ECHO OFF REM Questo è un commento echo Test pause
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:03.