当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 模块链接

作者:精品下载站 日期:2024-12-14 05:32:57 浏览:12 分类:玩电脑

模块链接


今天我有一个简短的提示,您可能会觉得有用,特别是如果您编写供私人使用的模块。我编写了许多这样的模块来满足我的需求。这些是私有模块,我不会发布到 PowerShell 库。我在 C:\Scripts 中开发和维护这些模块。这意味着当我需要导入模块时,我必须输入完整路径。

Import-Module -Name C:\Scripts\MyModule.psd1

当然,我在 PowerShell 配置文件脚本中加载了许多这样的模块。但最好让 PowerShell 像处理其他模块一样自动导入它们。

PS模块路径

自动导入之所以有效,是因为大多数模块都安装在 $env:PSModulePath 环境变量中列出的目录中。此变量是 PowerShell 查找模块的目录列表。

PS C:\> $env:PSModulePath -split ";"
C:\Users\Jeff\Documents\PowerShell\Modules
C:\Program Files\PowerShell\Modules
c:\program files\powershell\Modules
C:\Program Files\WindowsPowerShell\Modules
C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
C:\Program Files (x86)\Microsoft SQL Server0\Tools\PowerShell\Modules

我可以修改此变量以包含我的 C:\Scripts 目录,但我不想这样做。这将添加真正正在开发中且尚未准备好供一般使用的模块。

链接它!

相反,我可以在 $env:PSModulePath 中列出的目录之一中创建指向该模块的符号链接。我可以使用 New-Item cmdlet 来完成此操作。

我有一个 PowerShell 7 模块,用于管理我的 Stripe 帐户。我在 C:\Scripts\StripeTools 中维护此模块。与其手动导入模块,不如自动导入模块会更好。我可以在 C:\Program Files\PowerShell\Modules 目录中创建指向该模块的符号链接。

New-Item -Path "c:\program files\Powershell\Modules" -Name StripeTools -ItemType SymbolicLink -Value C:\scripts\StripeTools\

就是这么简单。我可以继续在 C:\Scripts 中维护该模块,其中文件会自动备份。但我可以像使用其他模块一样使用该模块。当然,如果我正在更新某些内容,我将使用当前状态的模块。但这是我的事,与我现在面临的情况并没有太大不同。

真正有趣的是,C:\Scripts 本身就是 OneDrive 上文件夹的指针。这可以将我的文件备份到云端并在我的设备之间同步。当我导入链接的模块时,我实际上使用的是 OneDrive 文件夹中的文件。这是一场巨大的胜利。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯