2010-09-16 19 views
19

J'essaie d'ouvrir un fichier dans son éditeur par défaut après que l'utilisateur a créé le fichier. Jusqu'à présent, mon script est:Comment ouvrir un fichier avec l'application par défaut dans cmd?

@echo off 
@echo --- Create A New File --- 
@echo - 
@echo Where should we put the new file? 
set /p [email protected] %UserProfile%\ 
@echo - 
@echo What do you want to call your new file? 
set /p [email protected] 
@echo - 
@echo Almost Done! What is the files extension? 
set /p [email protected] . 
@echo - 
copy NUL "%UserProfile%\%fileLocation%\%fileName%.%extension%" 

(ignorer les echos supplémentaires et « @ » ce sont juste pour le plaisir)

Après avoir cliqué sur le fichier, il fait la commande: Choose Location > Choose File Name > Choose File extension. J'ai presque fini ce que je veux mais theres une dernière chose. Comment puis-je obtenir le nom de fichier que j'ai créé et ensuite ouvrir dans son éditeur de texte par défaut?

Répondre

1

J'atteint la bonne façon d'association de fichier en utilisant ces commandes cmd. cela est juste un exemple:

REG ADD "HKEY_CLASSES_ROOT\Applications\notepad++.exe\shell\open\command" /v @ /t REG_SZ /d "\"C:\\Program Files\\Noteepad++\\notepad++.exe\" \"%1\"" /f 
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt" /v "Application" /t REG_SZ /d "notepad++.exe" /f 
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList" /v "g" /t REG_SZ /d "notepad++.exe" /f 

assoc .txt=MyCustomType 
ftype MyCustomType="C:\Program Files\Noteepad++\notepad++.exe" "%1" 

(il est préférable de les mettre dans le fichier .bat)

4

Dans Windows, vous pouvez utiliser start (http://ss64.com/nt/start.html).

start "" "%UserProfile%\%fileLocation%\%fileName%.%extension%" 
+0

Newcommers: notez l'em citations de pty. C'est obligatoire et ne fonctionnera pas autrement. – PiotrK