我正在尝试使用powershell脚本创建workin环境(PATH和别名)。
powershell.exe -Command c:\workspace\script\profile.ps1 -NoExit
在脚本中,我设置了一个别名:
Set-Alias npp "C:\Program Files (x86)\Notepad++\notepad++.exe"
然而,在启动新终端(通过ConEmu)后,别名未定义(环境设置正确等其他设置)。
有关如何通过脚本设置别名的任何提示吗?
答案 0 :(得分:1)
有两个值得注意的事情:
由于以下原因,您必须将-Command "file"
指定为最后参数:
如果Command的值是字符串,则Command必须是命令中的最后一个参数,因为在命令后键入的任何字符都被解释为命令参数。
不这样做意味着-NoExit
参数被忽略,新启动的进程会立即退出,并带上所有新别名。
换句话说,请确保以这种方式启动PowerShell:
powershell.exe -NoExit -Command c:\workspace\script\profile.ps1
在脚本中定义别名意味着它们是在Script
范围而不是Global
范围内定义的,如配置文件所做的那样(有关详细信息,请阅读get-help about_Scopes)。
然后,技巧是在创建别名时定义范围:
Set-Alias npp "C:\Program Files (x86)\Notepad++\notepad++.exe" -Scope Global
现在,只要脚本运行,别名就可以使用。
答案 1 :(得分:0)
那是profiles的用途。在配置文件目录(profile.ps1
)中创建文件$env:USERPROFILE\Documents\WindowsPowerShell
并在其中放置别名定义。只要启动PowerShell或ISE实例,就会读取配置文件。
您在常规脚本中定义的别名是易失性的,即只要运行脚本的PowerShell进程存在,它们就会存在。
答案 2 :(得分:0)
仅显示编辑或创建个人资料的简便方法
notepad $profile
如果以前没有创建配置文件脚本 - 只需调用
new-item -itemtype file -path $profile
notepad $profile