|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2008
Messaggi: 45
|
Batch dos: elimina file Data-di-ieri-laltro.txt
Ciao, avrei l'esigenza di eliminare un file di testo che ho rinominato 2 giorni fà con questo sistema:
ren Z:\*00_doc_test*.txt 00_doc_test_backup_%Date:~6,4%-%Date:~3,2%-%Date:~0,2%-su-SERVER-questo-DEVE-esserci.txt 00_doc_test_backup_2019-12-03-su-SERVER-questo-DEVE-esserci.txt Come faccio oggi a ELIMINARE il txt di 2gg fà (e non quello rinominato ieri)? Cioè, domani 04/12/2019 io avrò questi 2 file copiati in una cartella backup 00_doc_test_backup_2019-12-02-su-SERVER-questo-DEVE-esserci.txt 00_doc_test_backup_2019-12-03-su-SERVER-questo-DEVE-esserci.txt e vorrei cancellare 00_doc_test_backup_2019-12-02-su-SERVER-questo-DEVE-esserci.txt cioè quello con data -2gg Sapreste dirmi come fare per "calcolare" il nome file con data -2gg da oggi e cancellarlo?
__________________
grazie! reggio |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8694
|
Codice:
@ECHO OFF SetLocal EnableDelayedExpansion SET N=2 SET i=100 FOR %%a in (31 28 31 30 31 30 31 31 30 31 30 31) do set /A "i+=1" & SET "dpm[!i!]=%%a" FOR /F "tokens=1-3 delims=/" %%a in ("%DATE%") do ( SET /A "DD=1%%a-N, I=^!(((DD-101)>>31)+1), MM=1%%b-I, J=^!(MM-100), MM+=J*12" SET /A "YYYY=%%c-J, dpm[102]+=^!(YYYY%%4), DD+=I*dpm[!MM!]" ) SET "newDate=%DD:~1%/%MM:~1%/%YYYY% ECHO %newDate% PAUSE
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Dec 2008
Messaggi: 45
|
Quote:
![]() ... temo di non aver capito nulla ... preferirei continuare a usare comandi dos e file bat ... tipo un semplice del .... da lanciare ogni giorno assieme all'altro file batch che già ora rinomina prima del backup .... in pratica vorrei arrivare a del 00_doc_test_backup_2019-12-02-su-SERVER-questo-DEVE-esserci.txt dove il pezzo variabile "2019-12-02" deve essere calcolato con la formula OGGI-2gg Puoi aiutarmi anche in questo caso? ![]()
__________________
grazie! reggio |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8694
|
Hai eseguito il batch? Penso di no altrimenti avresti visto l'ECHO...
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
![]() |
![]() |
![]() |
#5 | |
Member
Iscritto dal: Dec 2008
Messaggi: 45
|
Quote:
Ora ho lanciato e capito qualcosa ![]() Ho provato a modificare per adattare, ma ancora non ho capito come debbo fare per ottenere la data in formato YYYY-MM-DD: Come vedi sotto ho provato ma mi esce una data così: "019-12-102" ... cosa sbaglio? @ECHO OFF SetLocal EnableDelayedExpansion SET N=2 SET i=100 FOR %%a in (31 28 31 30 31 30 31 31 30 31 30 31) do set /A "i+=1" & SET "dpm[!i!]=%%a" FOR /F "tokens=1-3 delims=/" %%a in ("%DATE%") do ( SET /A "DD=1%%a-N, I=^!(((DD-101)>>31)+1), MM=1%%b-I, J=^!(MM-100), MM+=J*12" SET /A "YYYY=%%c-J, dpm[102]+=^!(YYYY%%4), DD+=I*dpm[!MM!]" ) SET "newDate=%DD:~1%/%MM:~1%/%YYYY% SET "newDate=00_doc_test_backup_%YYYY:~1%-%MM:~1%-%DD% ECHO %newDate% PAUSE ECHO Adesso cancello il file %newDate%.txt PAUSE DEL 00_doc_test_backup_019-12-102.txt ECHO Adesso cancello il file su T: PAUSE DEL T:\BACKUP_CF\Giornaliero\Posta\00_doc_test_backup_2019-12-01-su-SERVER-questo-DEVE-esserci.txt ECHO FATTO! ![]() PAUSE
__________________
grazie! reggio |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8694
|
Old Files Manager non si installa e comunque credo che utilizzare codice che non si sa gestire non è una grande idea, per questo ti consigliavo il mio programma
Codice:
@ECHO OFF SetLocal EnableDelayedExpansion SET N=2 SET i=100 FOR %%a in (31 28 31 30 31 30 31 31 30 31 30 31) do set /A "i+=1" & SET "dpm[!i!]=%%a" FOR /F "tokens=1-3 delims=/" %%a in ("%DATE%") do ( SET /A "DD=1%%a-N, I=^!(((DD-101)>>31)+1), MM=1%%b-I, J=^!(MM-100), MM+=J*12" SET /A "YYYY=%%c-J, dpm[102]+=^!(YYYY%%4), DD+=I*dpm[!MM!]" ) SET "newDate=%YYYY%-%MM:~1%-%DD:~1%" ECHO del 00_doc_test_backup_%newDate%-su-SERVER-questo-DEVE-esserci.txt 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: 15:36.