Discussione Modificare Registro sistema con file .bat

Persi

Utente Iron
15 Marzo 2022
11
3
3
8
Ultima modifica:
Buonasera a tutti. Avrei bisogno di un aiuto per quanto riguarda la creazione di un file .bat da piazzare nella cartella di esecuzione automatica ad ogni avvio.
Il file in questione dovrebbe impostare come predefinito un programma per la lettura dei pdf in maniera tale che anche se gli utenti durante la sessione modifichino la preferenza sul lettore predefinito alla fine all'avvio successivo venga re impostato quello da me scelto di default sul registro di sistema.
La mia idea era quella di creare un file .bat che attraverso l'istruzione REG DELETE elimini la chiave predefinita ad ogni avvio e successivamente creare una nuova chiave attraverso il comando REG ADD così da eliminare il problema ad ogni avvio.
Tutto questo dentro un file .bat oppure dentro un .cmd o .exe che possano poi essere richiamati da un file. Bat ad ogni avvio nella common startup.
Avete qualche idea sulle istruzioni da scrivere?
Grazie in anticipo.

PS: mi sono resoconto ora di aver sbagliato sezione ma non so come spostare la discussione.
 
Buonasera a tutti. Avrei bisogno di un aiuto per quanto riguarda la creazione di un file .bat da piazzare nella cartella di esecuzione automatica ad ogni avvio.
Il file in questione dovrebbe impostare come predefinito un programma per la lettura dei pdf in maniera tale che anche se gli utenti durante la sessione modifichino la preferenza sul lettore predefinito alla fine all'avvio successivo venga re impostato quello da me scelto di default sul registro di sistema.
La mia idea era quella di creare un file .bat che attraverso l'istruzione REG DELETE elimini la chiave predefinita ad ogni avvio e successivamente creare una nuova chiave attraverso il comando REG ADD così da eliminare il problema ad ogni avvio.
Tutto questo dentro un file .bat oppure dentro un .cmd o .exe che possano poi essere richiamati da un file. Bat ad ogni avvio nella common startup.
Avete qualche idea sulle istruzioni da scrivere?
Grazie in anticipo.

PS: mi sono resoconto ora di aver sbagliato sezione ma non so come spostare la discussione.

Associare un estensione è un'operazione che richiede privilegi di amministratore, per cui non puoi usare la cartella di esecuzione automatica (esegue come utente corrente in medium integrity). Ho pensato ad una soluzione combinando schtasks a reg, in questo modo ti basta eseguire questo batch una sola volta come amministratore e da quel momento in poi ad ogni riavvio verrà sovrascritto il programma predefinito relativo ai file .pdf:

Codice:
set pdfreader=C:\my_pdf_reader.exe
schtasks /create /tn PDFReset /sc ONLOGON /rl HIGHEST /ru SYSTEM /tr "reg add HKCR\.pdf\Shell\Open\command /v \"\" /f /t REG_SZ /d \"%pdfreader% \\\"%%L\\\"\""

Dovrebbe funzionare su tutti gli utenti di quel pc, a prescindere da quale usi per la prima installazione.
 
  • Mi piace
Reazioni: Persi e 0xbro
Associare un estensione è un'operazione che richiede privilegi di amministratore, per cui non puoi usare la cartella di esecuzione automatica (esegue come utente corrente in medium integrity). Ho pensato ad una soluzione combinando schtasks a reg, in questo modo ti basta eseguire questo batch una sola volta come amministratore e da quel momento in poi ad ogni riavvio verrà sovrascritto il programma predefinito relativo ai file .pdf:

Codice:
set pdfreader=C:\my_pdf_reader.exe
schtasks /create /tn PDFReset /sc ONLOGON /rl HIGHEST /ru SYSTEM /tr "reg add HKCR\.pdf\Shell\Open\command /v \"\" /f /t REG_SZ /d \"%pdfreader% \\\"%%L\\\"\""

Dovrebbe funzionare su tutti gli utenti di quel pc, a prescindere da quale usi per la prima installazione.
Grazie mille per la pronta risposta, tra oggi e domani lo provo e ti faccio sapere! :)
 
Ultima modifica:
Associare un estensione è un'operazione che richiede privilegi di amministratore, per cui non puoi usare la cartella di esecuzione automatica (esegue come utente corrente in medium integrity). Ho pensato ad una soluzione combinando schtasks a reg, in questo modo ti basta eseguire questo batch una sola volta come amministratore e da quel momento in poi ad ogni riavvio verrà sovrascritto il programma predefinito relativo ai file .pdf:

Codice:
set pdfreader=C:\my_pdf_reader.exe
schtasks /create /tn PDFReset /sc ONLOGON /rl HIGHEST /ru SYSTEM /tr "reg add HKCR\.pdf\Shell\Open\command /v \"\" /f /t REG_SZ /d \"%pdfreader% \\\"%%L\\\"\""

Dovrebbe funzionare su tutti gli utenti di quel pc, a prescindere da quale usi
Ciao ho provato lo script e va senza errori. Il problema è che non modifica l'app predefinita. Se provo a impostare come predefinito ad esempio EDGE per il pdf e poi provo a riavviare, quando loggo mi da sempre EDGE come predefinito anziché modificarlo con Acrobat.
Se vado nel registro, in HKCR non vedo chiave e sottochiave che dovrebbe creare con reg add.
Sembra che non prenda il reg add tra virgolette. Grazie