如何用cmd中的默认应用程序打开文件?

我试图在用户创build文件后在其默认编辑器中打开一个文件。 到目前为止我的脚本是:

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

(忽略额外的回声和'@'这些只是为了好玩)

点击文件后,会执行以下命令: Choose Location > Choose File Name > Choose File extension 。 我几乎完成了我想要的,但最后一件事情。 我如何获得我创build的文件名,然后在默认的文本编辑器中打开?

您可以使用start来打开与相关应用程序的文件。


资源:

  • 使用Windows命令行(不含JDIC)在默认应用程序中打开文件

在Windows中,您可以使用starthttp://ss64.com/nt/start.html )。

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

我使用这些cmd命令实现了FILE ASSOCIATION的正确方式。 这只是一个例子:

 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" 

(最好把它们放在.bat文件中)