如何设置PowerShell在启动时打开特定脚本?

siotufzp  于 2023-06-29  发布在  Shell
关注(0)|答案(2)|浏览(175)

我想将PowerShell配置为从本地文件夹运行默认的profile.ps1脚本,而不是配置的Documents文件夹。
我最初配置我的文档文件夹保存在我的OnDrive中,以防止在崩溃的情况下丢失我的文档。但是,由于该更改,当我启动PowerShell时,它试图从预配置的OneDrive/Documents.profile.ps1执行profile.ps1脚本,出于安全原因,这是不允许的。
我想将PowerShell配置为从C:我该怎么做
我打开PowerShell并运行$PROFILE命令。它显示OneDrive Documents文件夹位置。

C:\Users\Joey\OneDrive\Documents\WindowsPowerShell\profile.ps1

我想我可以将$PROFILE变量指向本地C:文件夹,但似乎找不到其位置来更新它。我尝试将PROFILE变量添加到系统环境变量中,但不起作用。
请指示。

dojqjjoe

dojqjjoe1#

你可以在这里找到详细的解释(实际上是多个)-https://serverfault.com/questions/195397/change-the-powershell-profile-directory-但简短的版本是,你可以通过在注册表中编辑Personal键来调整它:
Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
所以它不再指向%USERPROFILES%\Documents,而是指向适合您的目的的某个地方。

tcomlyy6

tcomlyy62#

注意:如果您可以选择将 * 整个Documents文件夹 * 更改回仅限本地的位置(远离OneDrive),请参阅Keith Langmead's answer

自动$PROFILE变量的值 * 不能 * 更改,并且鉴于在固定位置中从配置文件中点源不同的文件 * 不是 * 您的情况下的选项,您必须使用PowerShell CLI及其-File参数来模拟配置文件加载[1]

powershell.exe -NoExit -File C:\path\to\your\local\profile.ps1

注意:如果在-File之前添加-NoProfile,则 * 没有 * 可能加载多个-profile files。如果没有其他配置文件,可以使用-NoProfile;否则,在$PROFILE指向的位置删除/不创建。
您可以创建快捷方式文件(*.lnk)或批处理文件(*.cmd),以便于使用此命令行启动PowerShell会话。
[1]-File隐式点源指定的脚本文件,即直接在全局范围内执行它,这也是如何加载配置文件的。

相关问题