.Bat dosyalarının sistemle olan ilişkisini nasıl geri yüklerim (çift tıkladığınızda çalıştırılmasını sağlar)?


68

Sistemin .bat dosyalarını tekrar çalıştırmasını sağlamak için 'ile birlikte açılır ...' özelliğini neye ayarlarım (çift tıklandıklarında)?

Bir şekilde patronum, iş istasyonunu .batdosyalar için işleyicinin Word olması gerektiğine ikna etti . Şimdi, .batdosyaları çift ​​tıklattığında Word'de açılırlar.


1
Windows'taki dosya türü ilişkilendirmeleri iletişim kutusunda .BAT'ı bile bulamıyorum. Ve .bat dosyasındaki Birlikte Aç iletişim kutusunu çağıramıyorum. Nasıl değiştirmiş olabilir?

3
umm ... Sanırım bu yüzden babası patron mu? ;)

3
.bat dosyasını sağ tıklatın -> Birlikte aç ... -> MS Word'ü seçin, "Her zaman bu programla aç" ı işaretleyin, Tamam'ı tıklayın. bam, uzantınız şimdi Word'e kayıtlı.
quack quixote

Yarasa dosyalarımda "Birlikte Aç" menüsü de yok (Windows 7) Tabii ki diğer dosyalar da var.
lbalazscs

1
Bilginize, .bat dosyaları çalıştırılabilir değildir. Onlar yorumlanmış komut dosyalarıdır.
Keltari

Yanıtlar:


58

.Bat dosya ilişkilendirmesini kayıt defterinden (regedit programını kullanarak) kaldırmanız gerekeceğini düşünüyorum.

LockerGnome'daki bu forum başlığına göre , bu anahtarın altındaki kayıt defteri ayarlarını kaldırmanız gerekiyor :

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

Muhtemelen güvenli olmadan, bunu yapmadan önce kayıt defterini yedeklemek isteyeceksiniz.


28
Dışardaki minimalistler için, yalnızca UserChoice alt klasörünü kaldırarak başarılı olduğumu eklerdim. Gittiğinde, varsayılan Yürütme davranışı geri yüklendi. HKEY_CURRENT_USER \ Yazılım \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat \ UserChoice
Mark F Guerra

Tüm .batanahtarı kaldırdım ve işler normale döndü. Nedense (antivirüs şüphesi var) UserChoiceanahtarı yeniden adlandıramadım .
Kim Gräsman

Böyle bir acı! ve bu güncelleme otomatik olarak gerçekleşti. Bir demet MS teşekkürler.
Jus12

Yolda HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.batben kaldırıldı UserChoicebenim için iyi çalıştı tamamen anahtarı. @Kim - belki regedt32yönetici olarak çalıştırmadınız (sağ tıklayıp seçin Run as administrator)?
Matt

Başka olası sebepler / kayıt yerleri vardır. Diğer cevaplara ve cevabımın bir özetini yapmasına bakın.
kxr

32

Bu kayıt defteri anahtarı dosyası yapacak. "Restore.reg" adlı bir metin dosyasına kopyalayıp yapıştırın ve kayıt defterinde birleştirmek için çift tıklayın.

.Bat dosyaları için yanlışlıkla oluşturmuş olabileceğiniz her kullanıcı ayarını temizler ve .bat<-> batfiledosya türü ilişkisi ile a'yı başlatmak için kullanılan gerçek parametreler de dahil olmak üzere sistem varsayılanlarını geri yükler 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\" %*"

Ayrıca benim makinede cmd dosyaları çalıştırmak zorunda kaldı
mohlsen

1
Bunu kullandım, iyi çalışıyor gibiydi.
Håkon K. Olafsen

Bunu yaptıktan sonra yarasa dosyasını çift tıklatarak "a.bat geçerli bir win32 uygulaması değildir" gibi hata alıyorum
rashok

Mükemmel çalışır, ancak etkili olabilmek için explorer.exeTask Manager'ı kullanarak tekrar öldürmek ve yeni bir görev olarak çalıştırmak zorunda kaldım .
Dave Anderson,

Bu, benim için seçilen cevabı yapmadıysa çözüldü. Hala bir uygulamanın .bat dosyalarını açmasını istiyordu.
JDuarteDJ

10

Aynı problemi yaşadım (Windows 7'de); toplu iş dosyaları yürütülmek yerine Not Defteri'nde açılıyordu.

Aşağıdaki kayıt defterinin .bat dosyaları için düzeltilmesi (çalıştığı tüm makinelere göre) toplu işlemin doğru şekilde yürütülmesini sağlar:

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 

Bu girişleri saklayın, ancak altındaki tüm diğerlerini kaldırın .bat. Bir toplu iş dosyasını çift tıklatarak yenileyin ve çalıştırın;


7

Yukarıdaki yanıtların hiçbiri çalıştığım makine için düzelmedi, ancak Yönetici Kabuğu'nu başlatıp çalıştıran ne düzeltildi?

assoc .bat=batfile
assoc .cmd=batfile

1
Bu, Win 2008 Server'ın çözümüdür, cmd Yönetici olarak çalışır. Explorer.exe veya Windows'un yeniden başlatılması gerekmez.
TonyG

Çalışma?????????????????
YumYumYum

2
Bu benim için Windows 10'da çalıştı
htxryan

hayır, Windows Server 2012'de çalışmadı
Toolkit

Ile Run as Administrator, bu benim için mükemmel çalıştı, Windows 10 ! :-) Şimdi .bat dosyalarını çağıran .exe dosyaları beklendiği gibi çalışıyor. Bu çözüm, kayıt defterini karıştırmaktan çok daha iyidir! Bir not olarak, şimdiki dernek, sadece yazın ne olduğunu görmek için assoc .bathem benim davayı içinde .batve cmd edildi olarak ilişkilidir Notepad++_file. Artık onlar .batfileyarasa dosyalarına sağ tıklamak RUN veya Yönetici olarak Çalıştırmamı sağlıyor. Bundan önce mümkün değildi. Önceden, geçici filename.bat
çözümüm

3

Bu cevaptaki bilgiler beni sorumun çözümüne götürdü .

Orada belirtilen kayıt defteri anahtarını açtım ve

  • UserChoiceanahtarı sildim
  • OpenWithListanahtarın altındaki tüm girişleri kaldır

2

Kaleb'in 40 oy aldığı cevap benim için işe yaramadı ama sonunda cevabı buldum. Yarasa dosyasının tekrar çalışmasını sağlamak için aşağıdakilere gitmelisiniz:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.bat] ve (Varsayılan) ayarını "batfile" olarak ayarlayın. Çift tıklamayla çalıştırmak yerine Word veya Notepad ++ uygulamasında açılan toplu komut dosyalarınız varsa, bunun nedeni bu programların kendi varsayılanlarına (Varsayılan) ayarlanmış olmalarıdır.

Hızlı bir düzeltme yapmak istiyorsanız, bir metin dosyasını açıp yapıştırın:

    Windows Registry Editor Version 5.00

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

Ve bir .reg uzantısı ile kaydedin ve birleştirmek için çift tıklayın.


1

Kayıt sırasında, .bat girişinin batfile girişine işaret etmesi gerekir :

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

Doğal olarak, bir toplu dosya kayıt defteri girdisine sahip olduğunuzdan emin olmanız gerekir :

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

1

Windows 8'de bir Toplu iş dosyası oluşturmak veya değiştirmek için Not Defteri'ni kullanın, ancak bunun sırrı şudur:

Toplu iş dosyasını çift tırnak kullanarak kaydedin. Dosyayı kaydetmek için, kelimenin tam anlamıyla kaydet kutusundaki çift tırnak işaretini kullanarak "MYBACK.BAT" kullanın. MYBACK.BAT yerine


Doğru (önceki Windows / Notepad sürümleriyle aynı). Peki bu soruyu nasıl cevaplar?
Arjan

0

Kayıt defteri içeriği, farklı Windows sürümleri için değişir.

Sana da aynı O / S versiyonu ile başka bir bilgisayar bulmak ve içeriğini vermek için regedit kullanmanızı öneririz HKEY_CLASSES_ROOT\.batve HKEY_CLASSES_ROOT\batfile.

Ardından Patron'un makinesine gidin, yukarıdaki iki anahtarı silin ve iki dosyayı alın.


0

Kayıt defterini düzenlemenin zorluğundan (ve birçok insanın kıtlığı ve korkutmasından) kaçınmak için, gerçekten iyi olan herhangi bir ( birçok crapware'e karşı ), tweaking.com Windows Repair'ı gerçekleştiren ücretsiz, mükemmel ve invazif olmayan bir onarım yardımcı programını kullanabilirsiniz .

Özellikle: kurun, "Onarımlar" sekmesine atlayın, "Onarımları Aç" ı tıklayın ve "04 Sistem Dosyalarını Kaydet" seçeneğine bir onay işareti koyun, ardından "Onarımları Başlat" düğmesini tıklayın.

Bu programın kullanıcı arayüzü zaman içinde değişti, bu nedenle gelecekte bunu yapan herhangi birinin bu seçeneği bulmak için programı araştırması gerekebilir.

Patronunuzun bilgisayarında bir sürü başka sorun olduğunu tahmin ediyorum, böylece programın tüm onarımlarını çalıştırmak isteyebilir, bu da saatlerce sürebilir.

Not: tweaking.com ile bağlı değilim; Ben sadece programın büyük bir hayranıyım. Nitelikli kullanımı, bilgisayarımın işletim sistemini kurtardı ya da inatçı sorunları birkaç kez çözdü.


0

Yine, önceki cevapların hiçbiri burada yapmadı.
Ben mesela varsayılan değerini değiştirmek zorunda [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell] den editüzere open.

(Bir kez ben özel bir istisna var gibi gözüküyor. BAT dosyalarıydı & değişim için sunulmaz. Dosya türü Explorer klasör seçenekleri iletişim dernek uzatmak değişmişti. Ama bir kere ben, hatırlamıyorum eklenen Explorer klasör seçenekleri iletişim BAT türü , 'edit'i varsayılan kabuk fiili olarak almak için.)

İncelenecek çeşitli yerler

Sonuçta, çeşitli nedenler ve değişken işletim sistemi sürümü vardır ve (en azından) aşağıdaki kayıt defteri klasörlerinin (ve alt klasörlerinin) (en azından) değerlerinin kontrol edilmesi gerekir - bazı sağduyuyla :-). Ve bu listenin işletim sistemi ile ilgili olan öncelik sırasını yansıtabileceğini düşünüyorum:

[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\" %*"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.