![](/img/trans.png)
[英]CreateProcessAsUser: how to open file with default application?
[英]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
。 我幾乎完成了我想要的東西,但最后還有一件事。 如何獲取我創建的文件名,然后在其默認文本編輯器中打開?
在Windows中,您可以使用start
( http://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.