Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Jak provést asociace přípon dávkovým souborem?

Jak provést asociace přípon dávkovým souborem?
Např. spustím *.bat a provede se asociace *.pdf do pdfprohlizec.exe. Spustím soubor.pdf a ten se otevře v pdfprohlizec.exe.
Další příklad - spustím *.bat a provede se asociace *.txt do aplikace txtprohlizec.exe. Kliknu na soubor.txt a ten se otevře v txtprohlizec.exe.
Zacíleno na Windows XP až Windows 10.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Máš v tom nejaký guláš. Rozlišuj dávky, skripty *.bat a *.cmd pre W10 ak máš x64 bit systém. Pre je…
Nuda 15.04.2018 07:36
Nuda
Prioritně mi šlo o dávku v *.bat, to zmiňuji v zadání dotazu. Včera jsem testoval/spouštěl jako sprá… nový
Asociace 15.04.2018 08:45
Asociace
Máš pravdu, že to nefunguje u všech přípon/typů souborů. Některé typy jsou zřejmě už přednastavené z… nový
2xs 03.12.2022 17:03
2xs
Ještě při použití příkazového řádku jako správce, rozdílnost chování se stejným kódem: C:\Windows\s… nový
Asociace 15.04.2018 08:55
Asociace
Zábavné čtení. :-D Ještě bych rád autora dotazu upozornil, že je velmi zpozdilé používat profil jaké… nový
touchwood 05.12.2022 05:54
touchwood
tipuju prave, ze z batky to bude ve w10 profil hkcu, kdezto ms si drzi asociaci na hkcr. je to jedno… nový
brum brum 05.12.2022 07:30
brum brum
Ja si zas myslim, ze to po 4 letech uz vyresil...:-P nový
MaSo 05.12.2022 09:53
MaSo
On to sice původně vytáhl 2xs 3.12., ale je zbytečné to po letech dál rozvíjet. poslední
Karel04 05.12.2022 12:02
Karel04

Máš v tom nejaký guláš. Rozlišuj dávky, skripty *.bat a *.cmd pre W10 ak máš x64 bit systém.

Pre jednorazovú zmenu asociácie pomocou spusteného okna cmd.exe pre PDF
(ako si zrejme v dopyte žiadal):

ASSOC .PDF=Acrobat.exe
FTYPE Acrobat.exe="C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\Acrobat.exe" "%%1"

Pre uložený skript *.cmd v Notepad.exe začína hlavičkou:
@echo off
--------------------------------

Pre inštalačné *.reg súbory k trvalej zmene asociácie spracované v Notepad.exe vypadá vzor takto:

https://gist.github.com/credomane/9ac7be58f562eb9ba227

Hotové predvoľby asociácií *.reg inštalačných súborov k trvalej zmene:

http://www.winhelponline.com/blog/file-association-fixes-windows-10/

Prioritně mi šlo o dávku v *.bat, to zmiňuji v zadání dotazu.
Včera jsem testoval/spouštěl jako správce/admin v *.bat níže uvedený kód, ale nebyl jsem úspěšný.
Problém je jinde. Nikdo však neví kde. Od té nesmyslné včerejší přestřelky jsem začal tušit, že všichni nevíme nějakou základní informaci, která je nutná pro rozběhutí dávky. Možná to někdo ví, asi tuším kdo, ale úplnou náhodou to sem nenapsal. Taky se pozastavuju nad tím, že by pokud dva dělají totéž na stejné platformě, tak je výsledek rozdílný. Vím, že radili chlapi zkušení a letití, proto mi hlava nebere proč se nedostavil úspěch.

Můžete mi sem napsat vaši verzi OS/bit?
Testováno na x64 Microsoft Windows [Version 10.0.10586]

-------------------------------------

@echo off
cd %systemroot%\system32
call :admin

reg.exe add "hkcr\txtfile\shell\open\command" /ve /t reg_sz /d "c:\windows\notepad.exe \"%%1\"" /f
exit

:admin
reg.exe query "hku\s-1-5-19\environment"
if not %errorlevel% equ 0 (
cls & echo Jsou nutna admin prava ...
pause & exit
)
cls
goto:eof

Máš pravdu, že to nefunguje u všech přípon/typů souborů. Některé typy jsou zřejmě už přednastavené z dřívějška, v držení nějaké jiné aplikace. Windows to mají rozeseto na X nesmyslných místech, není to na jednom místě, kde by to šlo jednoznačně změnit a fungovalo vše. například mi po aplikaci stejné dávky s assoc a s ftype (asociováno do stejného prohlížeče obrázků) u png fungovalo, ale u bmp už ne, u jp2 také ne, u ppm také ne... bylo nutno to ručně a jednotlivě donastavit po vyskočení okna "kterou aplikací to mám otevřít"... se zaškrtnutím "nafurt".
Ale mistři světa výše to zřejmě ani netuší, a tak si myslí, že je člověk blbec.
A na prvotní problém, že aplikace XYZ není v nabídce Nastavení W10 "Výchozí aplikace/Nastavit výchozí možnosti podle aplikace", jelikož se tam aplikace nevyskytuje, a jak ji tam lze doplnit, na to nereagoval nikdo.

Ještě při použití příkazového řádku jako správce, rozdílnost chování se stejným kódem:

C:\Windows\system32>c:\Users\-\Desktop\asociuj.bat

C:\Windows\system32>ftype txtfile="c:\Windows\notepad.exe" "%1"
txtfile="c:\Windows\notepad.exe" "%1"

C:\Windows\system32>assoc .txt=txtfile
.txt=txtfile

C:\Windows\system32>ftype txtfile="c:\Windows\notepad.exe" "%%1"
txtfile="c:\Windows\notepad.exe" "%%1"

C:\Windows\system32>assoc .txt=txtfile
.txt=txtfile

C:\Windows\system32>

Zábavné čtení. :-D
Ještě bych rád autora dotazu upozornil, že je velmi zpozdilé používat profil jakéhokoli uživatele k ukládání aplikací, které se mají asociovat.
Dále je vhodné se kouknout do registrů, zda ta změna proběhla, a zda proběhla na úrovni systému (HKLM) nebo uživatele (HKCU), výsledek spojení těchto dvou registrů je vidět v HKCR. Od dob userprofile2.0 to totiž je rozděleno.

Zpět do poradny Odpovědět na původní otázku Nahoru