Come ripristinare l'associazione di file .bat al sistema (farli funzionare quando si fa doppio clic)?


68

A cosa devo impostare la proprietà 'Apri con ...' per fare in modo che il sistema esegua nuovamente i file .bat (quando fanno doppio clic)?

In qualche modo il mio capo ha convinto la sua postazione di lavoro che il gestore dei .batfile doveva essere Word. Ora, quando si fa doppio clic sui .batfile, vengono aperti in Word.


1
Non riesco nemmeno a trovare .BAT nella finestra di dialogo delle associazioni dei tipi di file in Windows. E non posso invocare la finestra di dialogo Apri con ... su un file .bat. Come avrebbe potuto cambiarlo ??

3
umm ... immagino sia per questo che è un capo? ;)

3
tasto destro del mouse .bat file -> Apri con ... -> seleziona MS Word, seleziona "Apri sempre con questo programma", fai clic su OK. bam, l'estensione è ora registrata in Word.
Quack Quixote,

Anche i miei file bat non hanno il menu "Apri con" (Windows 7). Altri file lo hanno, ovviamente.
lbalazscs,

1
Cordiali saluti, i file .bat non sono eseguibili. Sono script interpretati.
Keltari il

Risposte:


58

Penso che dovrai rimuovere l'associazione dei file .bat dal registro (usando il programma regedit).

Secondo questo thread del forum su LockerGnome , è necessario rimuovere le impostazioni del registro sotto questa chiave:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

Probabilmente vorrai eseguire il backup del registro prima di farlo, solo per sicurezza.


28
Per voi minimalisti là fuori, aggiungerei che ho avuto successo rimuovendo solo la sottocartella UserChoice. Una volta sparito, il comportamento predefinito di Execute è stato ripristinato. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat \ UserChoice
Mark F Guerra

Ho rimosso l'intera .batchiave e le cose sono tornate alla normalità. Per qualche motivo (sospetto che l'antivirus) non sia riuscito a rinominare la UserChoicechiave.
Kim Gräsman,

Che dolore !! e questo è accaduto automaticamente su un aggiornamento. Grazie mille MS.
Jus12,

Nel percorso HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.batho rimosso UserChoicecompletamente la chiave, che ha funzionato bene per me. @ Kim - forse non sei stato eseguito regedt32come amministratore (fai clic con il pulsante destro e seleziona Run as administrator)?
Matt,

Esistono molte altre possibili ragioni / posizioni del registro. Vedi le altre risposte e la mia risposta cercando un riepilogo.
kxr,

32

Questo file di chiave di registro lo farà. Copia e incolla in un file di testo chiamato "restore.reg" e fai doppio clic su di esso per unirlo al registro.

Cancellerà qualsiasi impostazione per utente che potresti aver accidentalmente creato per i file .bat e ripristinerà le impostazioni predefinite del sistema, inclusa la relazione del tipo di file .bat<-> batfilenonché i parametri effettivi per l'avvio di a batfile.

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]
[-HKEY_CURRENT_USER\Software\Classes\.bat]
[-HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]
@="\"%1\" %*"


1
L'ho usato, sembra che funzioni bene.
Håkon K. Olafsen,

Dopo aver fatto questo, mentre faccio doppio clic sul file bat, ricevo un errore del tipo "a.bat non è un'applicazione win32 valida"
rashok,

Funziona perfettamente, ma per avere effetto ho dovuto uccidere explorer.exeed eseguire nuovamente come una nuova attività utilizzando Task Manager.
Dave Anderson,

Questo ha risolto se, per me, la risposta selezionata non lo fosse. Stava ancora chiedendo un'app per aprire i file .bat.
JDuarteDJ,

10

Ho avuto lo stesso problema (in Windows 7); i file batch si aprivano in Blocco note anziché essere eseguiti.

Correggere il registro di seguito per i file .bat (come per qualsiasi altra macchina su cui funziona) farà eseguire correttamente il batch:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

.bat                --> default-> Value not set
.bat/OpenWithList   --> default-> Value not set
.bat/OpenWithProgIds--> default-> Value not set
                        batfile-> Zero length binary values 

Conservare queste voci ma rimuoverne tutte le altre .bat. Aggiorna ed esegui un file batch facendo doppio clic: verrà eseguito correttamente.


7

Nessuna delle risposte sopra ha risolto il problema con la macchina con cui stavo lavorando, ma ciò che risolveva era l'avvio di una shell di amministrazione e l'esecuzione

assoc .bat=batfile
assoc .cmd=batfile

1
Questa è la soluzione per Win 2008 Server, cmd eseguito come amministratore. Non è necessario riavviare Explorer.exe o Windows.
TonyG,

Non lavorare?????????????????
YumYumYum

2
Questo ha funzionato per me su Windows 10
htxryan il

no, non ha funzionato su Windows Server 2012
Toolkit

Con Run as Administrator, questo ha funzionato perfettamente per me su Windows 10 !! :-) Ora (installa) i file .exe che richiamano i file .bat funzionano come previsto. Questa soluzione è molto meglio che dover fare confusione con il registro! Come sidenote, per vedere quale sia l'attuale associazione, basta digitare assoc .batNel mio caso entrambi .bate cmd sono stati associati come Notepad++_file. Ora che lo sono .batfile, facendo clic con il pulsante destro del mouse sui file bat mi permette di ESEGUIRE o eseguire come amministratore. Prima non era possibile. In precedenza, la mia soluzione era quella di aprire una finestra cmd quindi digitare manualmente un filename.batper eseguire il file
SherylHohman

3

Le informazioni contenute in questa risposta mi hanno portato alla soluzione della mia domanda .

Ho aperto la chiave di registro menzionata lì e

  • ha eliminato la UserChoicechiave
  • rimosso tutte le voci sotto la OpenWithListchiave

2

La risposta che ha ottenuto 40 voti da Kaleb non ha funzionato per me, ma ho finito per trovare la risposta. Per far eseguire nuovamente il file bat, devi andare a:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.bat] e imposta (Predefinito) su "batfile". Se hai script batch aperti in Word o Notepad ++ invece di essere eseguiti con un doppio clic, è perché quei programmi hanno impostato (Predefinito) sui propri mimi.

Se vuoi una soluzione rapida, basta aprire un file di testo e incollare:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
    @="batfile"

E salvalo con un'estensione .reg e fai doppio clic per unire.


1

Nella registrazione il tuo .bat entry deve puntare alla voce batfile :

[HKEY_CLASSES_ROOT\.bat]
@="batfile"
.....

Naturalmente dovrai anche assicurarti di avere una voce di registro batfile :

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
.....

1

In Windows 8 utilizzare Blocco note per creare o modificare un file batch ma il segreto è il seguente:

Salvare il file batch con virgolette doppie. Utilizzare letteralmente "MYBACK.BAT" usando le doppie virgolette nella casella di salvataggio per salvare il file. Invece di MYBACK.BAT


Vero (lo stesso per le versioni precedenti di Windows / Blocco note). Ma come risponde alla domanda?
Arjan,

0

Il contenuto del registro varia in base alle diverse versioni di Windows.

Ti suggerisco di trovare un altro computer con la stessa versione O / S e utilizzare regedit per esportare i contenuti di HKEY_CLASSES_ROOT\.bate HKEY_CLASSES_ROOT\batfile.

Quindi vai alla macchina del Boss, elimina le due chiavi sopra e importa i due file.


0

Per evitare il fastidio (e per molte persone scarsità e intimidazione) di modificare il registro, è possibile utilizzare l'utilità di riparazione gratuita, eccellente e non invasiva che effettivamente realizza qualsiasi bene (rispetto a molti altri crapware), tweaking.com Windows Repair .

In particolare: installalo, passa alla scheda "Riparazioni", fai clic su "Apri riparazioni" e metti un segno di spunta in "04 Registra file di sistema", quindi fai clic sul pulsante "Avvia riparazioni".

L'interfaccia utente di quel programma è cambiata nel tempo, quindi in futuro chiunque potrebbe farlo potrebbe aver bisogno di esplorare il programma per trovare questa opzione.

Immagino che esistano molti altri problemi sul computer del tuo capo, quindi potrebbe voler eseguire tutte le riparazioni del programma, il che può richiedere ore, a seconda.

Nota: non sono affiliato con tweaking.com; Sono solo un grande fan del programma. L'uso abile di esso ha salvato più volte il sistema operativo del mio computer o risolto problemi ostinati.


0

Ancora una volta, nessuna delle risposte precedenti lo ha fatto qui.
Ad esempio, ho dovuto modificare il valore predefinito di [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell] da edita open.

(Una volta modificato il tipo di file, estendi le associazioni nella finestra di dialogo delle opzioni della cartella Explorer. I file BAT erano e non sono offerti per la modifica. Sembra esserci un'eccezione speciale. Ma ricordo, una volta aggiunto il tipo di BAT nella finestra di dialogo delle opzioni della cartella Explorer , per ottenere "modifica" come verbo shell predefinito.)

Vari luoghi da ispezionare

Quindi, dopo tutto, ci sono vari motivi e diverse versioni del sistema operativo e (almeno) i valori (predefiniti) delle seguenti cartelle (e sottocartelle) del registro devono essere controllati - usando un certo senso comune :-). E penso che l'elenco possa riflettere l'ordine di precedenza che è rilevante per il sistema operativo:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]  (if present: remove "UserChoice")
[HKEY_CURRENT_USER\Software\Classes\.bat]  (if present: @ = "batfile")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]  (if present)
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell]  (if present: @ = "open")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell\open\command]  (if present: @ = "\"%1\" %*")
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]  @ = "batfile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell]  @ = "open"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]  @ = "\"%1\" %*"
[HKEY_CLASSES_ROOT\.bat]  @ = "batfile"
[HKEY_CLASSES_ROOT\batfile]
[HKEY_CLASSES_ROOT\batfile\shell]  @ = "open"
[HKEY_CLASSES_ROOT\batfile\shell\open\command]  @ = "\"%1\" %*"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.