You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell脚本中调用外部文件中的Hashtable?

在PowerShell中从外部文件加载哈希表并获取值

下面分别说明使用.psd1和.psm1文件存储哈希表并在脚本中调用的方法:

一、使用.psd1文件(推荐用于纯数据存储)

.psd1是PowerShell数据文件,专门用于存储结构化数据,安全性高(默认不会执行脚本代码),适合存放哈希表这类配置数据。

步骤1:创建.psd1文件

新建一个文件(比如ConfigData.psd1),将你的两个哈希表封装到一个顶层哈希表中:

@{
    hash1 = @{ 
        "TEST_A1" = "A1_XXXX"
        "TEST_A2" = "A2_YYYY"
    }
    hash2 = @{ 
        "TEST_B1" = "B1_XXXX"
        "TEST_B2" = "B2_YYYY"
    }
}

步骤2:在脚本中加载并获取值

使用Import-PowerShellDataFile命令加载文件,然后直接通过键名访问目标值:

# 加载psd1文件
$configData = Import-PowerShellDataFile -Path ".\ConfigData.psd1"

# 获取hash1中TEST_A1的值
Write-Output $configData.hash1.TEST_A1

# 获取hash2中TEST_B2的值
Write-Output $configData.hash2.TEST_B2

二、使用.psm1文件(适合附带逻辑的场景)

.psm1是PowerShell模块文件,可以定义变量、函数等,适合需要在存储哈希表的同时添加相关处理逻辑的场景。

步骤1:创建.psm1文件

新建一个文件(比如HashtableModule.psm1),写入你的哈希表并导出变量:

# 定义哈希表
$hash1 = @{ 
    "TEST_A1" = "A1_XXXX"
    "TEST_A2" = "A2_YYYY"
}

$hash2 = @{ 
    "TEST_B1" = "B1_XXXX"
    "TEST_B2" = "B2_YYYY"
}

# 导出变量,让外部脚本可以访问
Export-ModuleMember -Variable hash1, hash2

步骤2:在脚本中加载并获取值

使用Import-Module加载模块,之后直接使用变量访问哈希表的值:

# 加载psm1模块
Import-Module -Path ".\HashtableModule.psm1"

# 获取hash1中TEST_A1的值
Write-Output $hash1.TEST_A1

# 获取hash2中TEST_B2的值
Write-Output $hash2.TEST_B2

内容的提问来源于stack exchange,提问作者jarodas2004

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 21:46:07