如何在PowerShell中为Midnight Commander配置可用别名?
解决PowerShell中Midnight Commander别名无法生效的问题
为什么原配置无效?
PowerShell的Set-Alias只能绑定单个可执行文件或命令名称,没法直接包含参数(你写的cmd /K ...是带参数的完整命令),所以直接这么设置别名肯定不生效。
正确配置方法
1. 临时生效(仅当前PowerShell会话)
直接定义一个函数替代别名,函数可以处理带参数的启动命令:
function mc { cmd /K "C:\Program Files (x86)\Midnight Commander\mc.exe" }
执行完上面的命令后,直接输入mc就能启动Midnight Commander了。
2. 永久生效(所有PowerShell会话)
如果想让配置在每次打开PowerShell时都生效,需要把函数写入PowerShell的配置文件:
- 先检查配置文件是否存在:
Test-Path $PROFILE - 如果返回
False,创建配置文件:New-Item -Path $PROFILE -ItemType File -Force - 打开配置文件编辑:
notepad $PROFILE - 将之前的函数代码粘贴进去,保存后重启PowerShell,以后就能随时用
mc启动程序了。
额外:用别名配合函数(可选)
如果一定要用Set-Alias,可以先定义函数再给函数设别名,不过没必要多此一举:
function Start-MidnightCommander { cmd /K "C:\Program Files (x86)\Midnight Commander\mc.exe" } Set-Alias mc Start-MidnightCommander
内容的提问来源于stack exchange,提问作者Hendrik
相关产品推荐
相关产品推荐

