来自csv单元

时间:2018-05-25 12:55:01

标签: powershell

我有一个用例,我希望能够将一个端口号写入系统环境变量,该变量与运行脚本的PC名称相匹配。

为此,我有一个脚本,在2列csv文件中查找Computername,并将设备的相应端口号写入系统环境变量。问题是我无法让脚本将端口号添加到环境变量中。 如果我在最后一行的$ port周围放置括号。添加了一个条目,但它添加了字符串$ port而不是端口号。 如果任何人可以提供一些帮助,我会非常感激。提前谢谢。

$COMPUTERNAME = "$env:COMPUTERNAME"
$data = import-csv "C:\PS stuff\Port assign.csv" | Where-Object 
{$_."computer" -eq "$COMPUTERNAME"}
$data | Select -ExpandProperty "port" $port
[System.Environment]::SetEnvironmentVariable('TCP_PORT', "$port", 
[System.EnvironmentVariableTarget]::User)

2 个答案:

答案 0 :(得分:0)

{
{"myid":"79769E7B-BED5-4CB5-AEF9-CCE445D9212E"},
{"myid":"ymmud"},
{"myid":"F2FDDD4A-4800-4F0F-911A-FEDBC82915DD"},
{"myid":"ymmud"},
{"myid":"52D93565-81E9-479C-8BD9-457754581BBE"},
{"myid":"ymmud"}
}

答案 1 :(得分:0)

由于我编写代码的方式,似乎没有写入变量$ port。它现在已更改为以下内容,并且所有内容均按要求进行操作。感谢所有的帮助。

$COMPUTERNAME = "$env:COMPUTERNAME"
$data = import-csv "C:\PS stuff\Port assign.csv" | Where-Object 
{$_."computer" -eq "$COMPUTERNAME"}
$port = $data | Select -ExpandProperty "port"
[System.Environment]::SetEnvironmentVariable('TCP_PORT', "$port", 
[System.EnvironmentVariableTarget]::User)