簡體   English   中英

Powershell模塊存儲用戶設置的位置

[英]Powershell Module where to store user settings

我正在開發一個基於PowerShell的構建自動化工具箱( http://www.crawler-lib.net/powershell-build-tools-samples )。 它是一個powershell模塊。此工具箱將安裝在32位和64位PowerShell模塊目錄中,因為它可以通過Visual Studio(它是32位PowerShell主機)中的NuGet控制台和PowerShell ISE(64位)來執行。在64位OS上)。

我想為工具箱的開發人員和用戶提供一種簡便的方法來設置他們的工具位置或覆蓋自動檢測工具箱。 因此,我必須存儲帶有此設置的屬性或XML文件。 存儲Powershell模塊的此類設置的一種好(標准)方法是什么?

我看到的大多數工具都遵循Unix約定,並將用戶首選項文件放在用戶的主目錄中。 例如,Mercurial將其用戶配置文件放在此處,名為mercurial.ini Windows還有其他需要這些文件的位置,但是我喜歡用戶的根目錄:這是查找和訪問的最簡單位置。

現在,您只需確定格式即可。 :-)我喜歡JSON,因為它不像XML那樣冗長,但是我認為XML在您的用戶中可能會更容易。 XML有更好的工具,而且已經存在了很長時間。

就個人而言,我更喜歡使用:

$AppName = [System.IO.Path]::GetFileNameWithoutExtension($PSCommandPath);
$myCompanyName = "myCompanyName";

*如果不想將其放入漫游配置文件中,請使用[System.Environment + SpecialFolder] :: LocalApplicationData

$ApplicationDataFolder = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::ApplicationData);

*建立道路

$myStorageFolder = ($ApplicationDataFolder | Join-Path -ChildPath $myCompanyName) | Join-Path -ChildPath $AppName;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM