Se Windows genera un errore, hai un problema di virus o vuoi discutere/segnalare l'uscita della nuova versione di un software per la piattaforma Microsoft, questa è la sezione giusta.
Buongiorno, sono nuovo del forum e a dire il vero non so nemmeno se sia la sezione giusta per porre questa domanda.
Ho la necessità di effettuare ad ogni riavvio/spegnimento del pc, un backup del contenuto della cartella PRINTERS.
Unico problema che ad ogni nuovo giorno, i file vengono nominati con lo stesso ordine del giorno precedente ( es. 00001.SHD, 0002.SHD, ecc.)
Vorrei che al momento del backup, i nuovi file vengano raggruppati per data e inseriti nella cartella di destinazione.
Ho provato con questo file batch, ma ovviamente non effettua backup di file già esistenti anche se con data differente
@ECHO OFF
XCOPY c:\Windows\System32\spool\PRINTERS C:\Users\Administrator\Documents\personale\BCK /i /d /m /e /y /r
sebbio ha scritto: ↑lun giu 10, 2024 4:33 pm
Buongiorno, sono nuovo del forum e a dire il vero non so nemmeno se sia la sezione giusta per porre questa domanda.
Ciao sebbio, benvenuto nel forum, si la sezione va bene. (al limite dopo stacco la discussione dall'altra e ne facciamo una a parte)
Una domanda però, quelli che indichi mi sembra siano la coda dei file mandati in stampa che dovrebbe sparire quando il file è stato stampato.
Perché ne vuoi fare un backup?
La cartella dovrebbe essere sempre praticamente vuota.
La più grande lezione nella vita è sapere che anche i pazzi, alle volte, hanno ragione.
Si, quelli che indico sono i file della coda di stampa che devo mantenere per una eventuale ristampa.
Ne voglio fare un backup perchè al riavvio del PC, un programma mi cancella i file della coda.
sebbio ha scritto: ↑lun giu 10, 2024 6:37 pm
Si, quelli che indico sono i file della coda di stampa che devo mantenere per una eventuale ristampa.
Ne voglio fare un backup perchè al riavvio del PC, un programma mi cancella i file della coda.
Due osservazioni:
1) dato che i file hanno lo stesso nome, come fai a riconoscerli a quale stampa appartengono?
2) i file vengono cancellati automaticamente quando vengono mandati in stampa.
Forse si potrebbe trovare qualcosa per fare quello che cerchi, ma, visto in particolare il punto 1, ne vale la pena?
La più grande lezione nella vita è sapere che anche i pazzi, alle volte, hanno ragione.
I file di stampa non vengono cancellati perché nelle impostazioni della stampa è attivo " mantieni file di stampa".
I file che hanno lo stesso nome, li riconoscerei dalla date e ora.
Il problema è che quando effettuo il backup, i file con nome uguale viene spostato.
Ci sarebbe un modo per rinominarli o raggrupparli per data allo spegnimento del pc?
sebbio ha scritto: ↑lun giu 10, 2024 4:33 pm
Ho provato con questo file batch, ma ovviamente non effettua backup di file già esistenti anche se con data differente
Credo che tu possa adattare questo script specificando una cartella di destinazione che ha il nome uguale alla data, sfruttando la variabile %date%:
sebbio ha scritto: ↑lun giu 10, 2024 4:33 pm
Vorrei che al momento del backup, i nuovi file vengano raggruppati per data e inseriti nella cartella di destinazione.
Pensavo che raggruppare i file in una cartella fosse un metodo elegante ed efficace...
Se intendi rinominare ogni file che copi nella stessa cartella, allora serve uno script un po' più complicato (controllalo bene perché sono un po' arrugginito con il prompt dei comandi!!)
@echo off
for %%f in (*.SHD) do (
set "name=%%~nf"
XCOPY C:\Windows\System32\spool\PRINTERS\%%f C:\Users\Administrator\Documents\personale\BCK\"%date%-%name%".SHD /i /d /m /e /y /r
)
"Let me tell you a secret: when you hear that the machine is “smart”, what it actually means is that it’s exploitable." Mikko Hypponen
@echo off
for %%f in (C:\Windows\System32\spool\PRINTERS\*.SHD) do (
set "name=%%~nf"
XCOPY C:\Windows\System32\spool\PRINTERS\%%f C:\Users\Administrator\Documents\personale\BCK\"%date%-%name%".SHD /i /d /m /e /y /r
)
"Let me tell you a secret: when you hear that the machine is “smart”, what it actually means is that it’s exploitable." Mikko Hypponen
Grazie, appena posso verifico.
Volevo chiederti, siccome nella cartella da copiare, oltre ai file .SHD, ci sono anche file .SPL posso compilare così lo script?
@echo off
for %%f in (C:\Windows\System32\spool\PRINTERS\*.SHD) do (
set "name=%%~nf"
for %%f in (C:\Windows\System32\spool\PRINTERS\*.SPL) do (
set "name=%%~nf"
XCOPY C:\Windows\System32\spool\PRINTERS\%%f C:\Users\Administrator\Documents\personale\BCK\"%date%-%name%".SHD /i /d /m /e /y /r
)
XCOPY C:\Windows\System32\spool\PRINTERS\%%f C:\Users\Administrator\Documents\personale\BCK\"%date%-%name%".SPL /i /d /m /e /y /r
)
Se nella cartella non ci sono altri file con una estensione che comincia per S seguita da altri due caratteri, puoi semplicemente modificare lo script in questo modo:
@echo off
for %%f in (C:\Windows\System32\spool\PRINTERS\*.S??) do (
set "name=%%~nf"
set "ext=%%~xf"
XCOPY C:\Windows\System32\spool\PRINTERS\%%f C:\Users\Administrator\Documents\personale\BCK\"%date%-%name%%ext%" /i /d /m /e /y /r
)
Altrimenti meglio separare i due cicli for: prima quello per copiare i file SHD poi quello per copiare i file SPL (o viceversa).
"Let me tell you a secret: when you hear that the machine is “smart”, what it actually means is that it’s exploitable." Mikko Hypponen
Buongiorno, adesso lo script risponde ma mi restituisce il messaggio che non riesce a trovare alcun file.
Sapresti indicarmi come poter allegare delle immagini, in modo che tu possa vedere.
sebbio ha scritto: ↑sab giu 15, 2024 9:15 am
Buongiorno, adesso lo script risponde ma mi restituisce il messaggio che non riesce a trovare alcun file.
Sapresti indicarmi come poter allegare delle immagini, in modo che tu possa vedere.
Grazie
Non ho modo di fare prove adesso ma puoi provare a modificare lo script racchiudendo tra virgolette il percorso al file di origne passato come parametro a xcopy (assicurati anche che non si siano spazi prima di %%f):
Scusa se rispondo solo adesso ma ho finalmente avuto modo di provare lo script di persona e quello sotto (spero) dovrebbe funzionare come desideri; non aggiungere altre opzioni a xcopy o i file non saranno copiati:
@echo off
set ANNO=%DATE:~6,4%
set MESE=%DATE:~3,2%
set GIORNO=%DATE:~0,2%
for /f "tokens=*" %%f in ('dir /b /a-d "C:\Windows\System32\spool\PRINTERS\*.S??"') do (
echo F|xcopy "C:\Windows\System32\spool\PRINTERS\%%f" "C:\Users\Administrator\Documents\personale\BCK\%GIORNO%-%MESE%-%ANNO%_%%f" /y /r /e
)
"Let me tell you a secret: when you hear that the machine is “smart”, what it actually means is that it’s exploitable." Mikko Hypponen
Inserendo un messaggio, dichiari di aver letto e accettato il regolamento di partecipazione.
Nello specifico, sei consapevole che ti stai assumendo personalmente la totale responsabilità delle tue affermazioni, anche in sede civile e/o penale,
manlevando i gestori di questo sito da ogni coinvolgimento e/o pretesa di rivalsa.
Dichiari inoltre di essere consapevole che il messaggio sarà visibile pubblicamente, accetti di diffonderlo con licenza
CC BY-NC-SA 3.0 (con attribuzione a "TurboLab.it") e rinunci ad ogni forma di compensazione (economica o altro).
Rinunci inoltre esplicitamente a qualsiasi pretesa di cancellazione del messaggio.