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

时间:2010-09-16 17:35:05

标签: windows batch-file cmd

我正在尝试在用户创建文件后在其默认编辑器中打开文件。到目前为止,我的脚本是:

@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。我几乎完成了我想要的东西,但最后还有一件事。如何获取我创建的文件名,然后在其默认文本编辑器中打开?

4 个答案:

答案 0 :(得分:28)

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


资源:

答案 1 :(得分:11)

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

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

答案 2 :(得分:1)

我使用这些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文件中)

答案 3 :(得分:1)

您还可以使用explorer.exe / explorer打开文件(例如explorer file.txt)。如果您使用WSL,尤其是使用alias open="explorer.exe"之类的别名,则也可以很好地使用它,例如open file.txt