簡體   English   中英

如何在cmd中使用默認應用程序打開文件?

[英]How to open file with default application in 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 我幾乎完成了我想要的東西,但最后還有一件事。 如何獲取我創建的文件名,然后在其默認文本編輯器中打開?

您可以使用start來打開具有關聯應用程序的文件。


資源:

在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文件中)

您還可以使用explorer.exe / explorer打開該文件(例如explorer file.txt )。 如果您使用WSL,這也很有效,特別是使用alias open="explorer.exe"這樣的alias open="explorer.exe"因此您可以將其稱為例如open file.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM