繁体   English   中英

如何将多个字符串/行拆分为两个变量

[英]How to Split Multiple Strings/Lines into Two Variables

我正在尝试设置一个脚本,它在文件中查找,检索用户描述、用户名和每个用户注销的日期/时间。 我想从那里将信息导出到 a.csv 文件中。 我能够干净地成功检索用户描述和用户名,但我正在尝试检索日期/时间,以便也可以轻松查看。 为此,我想拆分日期/时间的值,以便一个变量只是日期,另一个变量只是时间。 从那里,我应该能够轻松地将信息导出到 csv 文件中的 4 列(用户描述、用户名、注销日期和注销时间)。

这是我遇到问题的脚本部分:

#Create Variable for User Description & User ID & Last Logout
[xml]$UserInfoPath = gc $AccountListPath
$UserDescString = $UserInfoPath.AccountList.UserAccount.description
$UserInfoString = $UserInfoPath.AccountList.UserAccount.UserInfo.username
$UserLogoutString = $UserInfoPath.AccountList.UserAccount.UserInfo.LastLogout
$UserLogoutDate,$UserLogoutTime = $UserLogoutString.split("T")

这是 $UserLogoutString 变量的 output:

在此处输入图像描述

我想使用“T”在每一行上拆分字符串,以便 $UserLogoutDate 变量显示:

2022-11-22
2023-02-01
2022-11-22
2022-12-15
2022-12-02

我想用“T”在每一行上拆分字符串,以便 $UserLogoutDate 变量显示:

11:06:34.311-06:00
11:09:30.903-06:00
11:06:34.311-06:00
13:15:17.003-06:00
16:10:03.179-06:00

然而,上面的变量并没有按照我希望的方式显示。 我目前看到这个 output:

在此处输入图像描述

目前还不清楚$UserLogoutString实际上是一个字符串还是已经是一个数组。

假设这是一个数组,下面的代码中不需要-split '\r?\n'

$result = $UserLogoutString -split '\r?\n' | ForEach-Object {
    $date, $time = $_.Split('T')
    @{ $date = $time }
}

$($result.Keys)   # has all the dates
$($result.Values) # has all the times

以下将产生一个包含hash 个表的数组,然后通过成员访问枚举我们可以引用数组中的所有.Keys.Values

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM