Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 在一行中链接两个数组变量_Powershell_Powershell 4.0 - Fatal编程技术网

Powershell 在一行中链接两个数组变量

Powershell 在一行中链接两个数组变量,powershell,powershell-4.0,Powershell,Powershell 4.0,现在,我有一个名为$vlog的数组,它显示了某个文件夹中每个日志文件的最新实例$logpath,用于机器上运行的特定版本的服务$verno。它显示文件名和上次写入时间 $VLog = foreach ($log in $verno) { Get-ChildItem $LogPath | Where-Object {$_.Name -like "*$log-*"} | Select-Object -last 1 | Select-Object Name,

现在,我有一个名为
$vlog
的数组,它显示了某个文件夹中每个日志文件的最新实例
$logpath
,用于机器上运行的特定版本的服务
$verno
。它显示文件名和上次写入时间

$VLog = foreach ($log in $verno) {
    Get-ChildItem $LogPath | 
        Where-Object {$_.Name -like "*$log-*"} | 
        Select-Object -last 1 | Select-Object Name, LastWriteTime
}
此外,我混合使用了
Trim()
-replace
来缩减大部分名称,只显示日志文件名中包含的相应版本号

$vname = $vlog.name.Trim('service.logfile.prefix-') -replace ".{9}$"
基本上,它是剪切文件的结尾(包含日期和扩展名.log),以及每个文件开头的一个常量文本的前一位。这一切都很好

现在麻烦来了

我需要从这个日志文件数据中获取两项(
$vname
,它是版本号),以及该特定版本的日志文件对应的
LastWriteTime
。我需要它作为一个数组,它将被进一步放入电子邮件的一个变量中

我需要说明的是服务实例版本#version#上次记录在#version的上次写入时间#

这就是我现在拥有的:

$mailvar = foreach ($version in $vname) {
    "Service instance version $version was last logged at $PLEASEHELP."
}

我可以让它显示该句子的正确实例数,每个句子都有正确的版本号,但我没有时间显示该版本号对应的上次写入时间。

我相信您要查找的是
FileInfo
属性
LastWriteTime
。以下是您的简化示例:

foreach ($log in $verno) {
    $file = (Get-ChildItem -Path $LogPath -Filter "*$log-*")[-1]
    $version = $file.Name.Trim('service.logfile.prefix-') -replace '.{9}$'
    $stamp = $file.LastWriteTime | Get-Date -UFormat '%Y-%m-%d %H:%M:%S'

    'Service instance version {0} was last logged at {1}' -f $version, $stamp
}

它不使用versioninfo属性。太好了!刚刚测试过,效果很好。我是PS新手,所以我没有意识到你可以像那样在{}中声明多个变量。@Tom H很高兴为你服务。查看
关于
帮助主题,了解一切功能。如果我的回答解决了你的问题,请注明✔️