Come impostare il programma predefinito per l'apertura di file senza estensione in Windows?


Risposte:


148

Con la riga di comando:

assoc .="No Extension"
ftype "No Extension"="C:\path\to\my editor.exe" "%1"

Per dare credito, l'ho imparato dalla vim wiki qui e qui

Informazioni extra:

Invece "C:\path\to\...", possono essere utili le seguenti macro:

  • %SystemDrive% - Windows Drive è installato, ad es C:\
  • %ProgramFiles% - per esempio "C:\Program Files\"
  • %ProgramFiles(x86)% - per esempio "C:\Program Files (x86)\"

Dovrai fuggire correttamente però:

ftype "No Extension"=^"^%ProgramFiles(x86)^%\Notepad++\notepad++.exe^" "%1"

Per impostare l'icona in modo che corrisponda ai file .txt (non l'ho fatto, poiché faceva automaticamente visualizzare le icone dei file come file Notepad ++):

assoc "No Extension"\DefaultIcon=%SystemRoot%\System32\imageres.dll,-102

Per annullare, è possibile leggere le informazioni assoc /?o ftype /?, ad esempio:

ftype "No Extension"=
assoc "No Extension"\DefaultIcon=
assoc .=

4
Nota che se il tuo editor è in una cartella che contiene uno spazio (come "C: \ Programmi") devi metterlo tra virgolette. ftype no_ext="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
GuiSim

10
FWIW, in Win7 devi correre cmdcome amministratore
Cristi Diaconescu,

1
OK, un altro: nell'esempio sopra, no_extciò che Windows Explorer mostrerà nella colonna 'Tipo' per tali file. Penso che una descrizione più leggibile sarebbe meglio, quindi ho usato "No extension", tra virgolette doppie, invece che no_extnei comandi sopra.
Cristi Diaconescu,

3
Ecco come ho impostato l'icona per i file .txt per i file senza estensione (grazie @grawity per il puntatore e l'idea): assoc "No extension"\DefaultIcon=%SystemRoot%\system32\imageres.dll,-102
Cristi Diaconescu

2
Questo non funziona per me in Windows 10. Alcune note: 1) Non lo troveranno associn PowerShell, quindi cmdè necessario. 2) Stava generando un errore quando non era in esecuzione come amministratore, quindi ho eseguito come amministratore. Il comando viene eseguito senza generare un errore, ma non sembra aver fatto nulla. Ho riavviato anche in seguito.
JamesFaix,

24

Da Windows IT pro :

Ai file normali con un'estensione può essere associato un programma, ma non è così per i file che non hanno un'estensione. Se si fa doppio clic su uno e si seleziona un'applicazione e si seleziona la casella per utilizzare sempre quell'applicazione, questa viene ignorata e ogni volta che si seleziona un file, è necessario scegliere l'applicazione.

Puoi forzarlo usando il registro:

  • Avviare l'editor del registro (regedit.exe)
  • Passa a HKEY_CLASSES_ROOT
  • Dal menu Modifica selezionare Nuovo - Chiave
  • Inserisci un nome di "." e premi Invio (non digitare le virgolette)
  • Seleziona il nuovo '.' chiave
  • Fare doppio clic sul valore (predefinito)
  • Passare a HKEY_CLASSES_ROOT utilizzato per aprire, ad esempio NOTEPAD per l'applicazione notepad.exe NOTEPAD
  • Clicca OK

testo alternativo

Se ora fai doppio clic su un file senza estensione, questo si aprirà con l'applicazione selezionata.

Per verificare quale applicazione utilizzata viene utilizzata alla sua voce in HKEY_CLASSES_ROOT, ad esempio HKEY_CLASSES_ROOT.doc utilizza Word.Document.8, quindi se lo si desidera come editor predefinito, modificare HKEY_CLASSES_ROOT. (Predefinito) in Word.Document.8.

Qualsiasi metodo che eviti la necessità di modificare il registro è il seguente:

  • Apri Explorer - Visualizza - Opzioni cartella ... - Tipi di file - Nuovo tipo:
  • Descrizione del tipo: testo (qualsiasi descrizione, è possibile digitare)
  • Estensione associata:. (solo un periodo)
  • Azioni: - nuovo ...
  • Azione: aperta
  • Applicazione utilizzata per eseguire l'azione: c: \ winnt \ notepad.exe
  • Fai clic su OK, quindi di nuovo su OK

C'è qualcosa che non va nelle informazioni sopra. Ho i file .xml impostati per aprirsi con Notepad ++ ma la voce (Predefinita) per .xml è impostata su xmlfile ...
Piotr Dobrogost,

Non capisco davvero cosa intendi, ma temo che non saprei nemmeno una soluzione ...
Ivo Flipse,

3
@Piotr: se la voce predefinita HKCR\.xmlè xmlfile, significa che la shell (Explorer) deve andare a HKCR\xmlfileleggere le informazioni da quella chiave.
Grawity,

@Ivo Quando guardo la voce .txt nel registro per controllare come appare (ho file .txt aperti da Notepad ++) la voce predefinita ha valore "txtfile". Non c'è traccia di Notepad ++ da nessuna parte in questa chiave di registro. Cosa mi sto perdendo?
Piotr Dobrogost,

Vuoi dire che non usa Notepad ++ ora? Dal momento che dovresti essere in grado di impostarlo come NotePad se conosci l'estensione o lo crei tu stesso
Ivo Flipse

14

Questo è un esempio di file .reg per ottenere Blocco note per aprire estensioni di file sconosciute. Crea un nuovo file di testo con estensione .reg, taglialo e incollalo in esso, quindi fai doppio clic per eseguirlo e lo inserirà nel registro.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Unknown\shell]
@="notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad]
@="Open with Notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad\command]
@="C:\\WINDOWS\\NOTEPAD.EXE %1"

C'è qualcosa che non va nelle informazioni sopra. Quando faccio clic sul file .reg appena creato, viene visualizzato l'errore "Il file specificato non è uno script del Registro di sistema".
Piotr Dobrogost,

Mi scuso Piotr, prova ora, ho aggiunto un'ulteriore riga in cima.
Pauk,

Funziona in Explorer ma non funziona in Total Commander che dovrebbe comportarsi (e ha sempre) identico a Explorer in questo senso. qualche idea?
Piotr Dobrogost,

L'idea che dovresti impostare le associazioni di file per OGNI file sconosciuto in Windows è folle. Ben fatto signore!
Steven Penny,

verificato in win7, funziona. quindi non c'è bisogno di una chiave ./ separata.
jiggunjer,

5

La maggior parte di queste soluzioni non ha funzionato per me su Windows 8.1. Ho funzionato nel modo seguente (questo dovrebbe funzionare anche per Windows 7 e Windows 10):

  1. Segui la soluzione di hasnj: prima apri una finestra di comando elevata e digita

    assoc .="No Extension"
    ftype "No Extension"="C:\path\to\my editor.exe" "%1"
    
  2. Apri regedit e vai a

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

    Fare clic con il tasto destro del mouse e aggiungere una nuova chiave chiamata UserChoicese non esiste già.

  3. Nella nuova chiave UserChoice, fai clic con il pulsante destro del mouse e crea un nuovo valore stringa chiamato Progid. Impostare il valore su "Nessuna estensione" (senza virgolette doppie).


Purtroppo questo non funziona per me su Windows 8.1. Ho provato a uccidere e riavviare explorer.exe in seguito - c'è qualcos'altro che devo fare? Nella voce HCU te menzionato ora ho OpenWithList, OpenWithProgidse quello che ho aggiunto, UserChoice.
Conan,

1
Possibile errore chiave nell'articolo 3. No Extention dovrebbe essere No Extension?
JosefZ,

2

La risposta di Pauk non ha funzionato per me, ho dovuto usare invece:

Editor del registro di Windows Versione 5.00

[HKEY_CLASSES_ROOT.] @ = "Nessuna estensione"

[HKEY_CLASSES_ROOT \ Nessuna estensione]

[HKEY_CLASSES_ROOT \ No Extension \ Shell]

[HKEY_CLASSES_ROOT \ No Extension \ Shell \ Open]

[HKEY_CLASSES_ROOT \ No Extension \ Shell \ Open \ Command] @ = "C: \\ pathtoexe \\ yourexe.exe% 1"

Nota le doppie barre rovesciate sul percorso dell'exe.


Questo è quello che ha funzionato per me. La chiave era una doppia barra rovesciata.
ontherocks

1

Puoi anche usare NirSoft FileTypesManager :

FileTypesMan è un'alternativa alla scheda "Tipi di file" in "Opzioni cartella" di Windows.

FileTypesMan consente inoltre di modificare facilmente le proprietà e i flag di ciascun tipo di file, nonché di aggiungere, modificare e rimuovere azioni in un tipo di file.


1

Le altre risposte sono un po 'datate. Ecco un link a quello che funziona per Windows 7:

Estensioni della shell per nomi file senza estensione file

Le estensioni della shell per i nomi di file senza estensione di file possono essere registrate come segue:

[HKEY_CLASSES_ROOT\.]
           For example, to associate a program (for example, Notepad.exe) to open all files with no extension, use the following registry keys:

[HKEY_CLASSES_ROOT\.]
@=""

[HKEY_CLASSES_ROOT\.\shell]

[HKEY_CLASSES_ROOT\.\shell\open]

[HKEY_CLASSES_ROOT\.\shell\open\command]
@="<path to notepad.exe> %1"
           Here is an alternative method:

[HKEY_CLASSES_ROOT\.]
@="NoExtFile"

[HKEY_CLASSES_ROOT\NoExtFile]

[HKEY_CLASSES_ROOT\NoExtFile\shell]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open\command]
@="<path to notepad.exe> %1"

Per favore, in futuro, includi le parti più rilevanti qui, sul sito, piuttosto che fornire semplicemente un link. Grazie.
slhck

1

Non riesco a credere che nessuno l'abbia ancora detto. Non è necessario fornire un percorso al tuo editor di testo come dice la risposta accettata.

Esegui quanto segue nel prompt dei comandi dell'amministratore:

assoc .=txtfile

0

Ho un problema con l'apertura di file PDF in IE9, sì IE9 (necessario per il vecchio programma). I file PDF sono generati da Javascript e restituiti al browser come tipo di contenuto application / pdf , il che è buono, ma il nome del file "none" , che è negativo. IE8 ti consente di scegliere Salva, Annulla e Apri e comprende MimeType . per qualche motivo, IE9 no. Quindi devi scegliere ogni volta per aprirlo con il lettore PDF.

La mia soluzione: usando questo post ho creato un'associazione di file per il file senza estensione. per prima cosa l'ho mappato su Acrobat Reader , che funziona benissimo ma sta limitando le possibilità di apertura di un file senza estensione. Quindi, ho scelto Internet Explorer come visualizzatore predefinito per i file senza estensione. In questo modo, se IE può aprirlo o conosce un plug-in o un'altra associazione, funzionerà.

Ho provato questo con i file "none1" e "none2" sul mio desktop. "none1" è un file di testo che dice "ciao mondo". "none2" è un file pdf.


Ecco il mio file .reg :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]
@="htmlfile"

[HKEY_CLASSES_ROOT\.\PersistentHandler]
@="{eec97550-47a9-11cf-b952-00aa0051fe20}"

- Vedi screenshot

http://postimg.org/image/xtklrzcoz/

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.