如何在主脚本中运行一段代码,然后使用上面代码的结果更新主脚本

问题描述 投票:0回答:1

在建造现代床头柜之前需要了解什么 这个 DIY 现代床头柜项目是一个简单的构建,您可以在周末轻松完成。它非常适合用作床头柜,但您也可以将其用作茶几或小型玄关桌。 它用途广泛,非常适合初学者到中级构建!这款床头柜的整体尺寸为 17 ½ 英寸深 x 24 3/4 英寸高 x 27 英寸宽。

powershell
1个回答
1
投票

相对于您发布的内容,结果并非您所显示的。

(除非您在脚本中未显示的其他地方进行格式化)

Clear-Host
$dates = ("2022-07-29","2022-07-28","2022-07-27")

function display ($dates)
{
    $num = 1
    $beg = '"{0,-25}'
    $end = '" -f "Job_Name"'

    ForEach ($dt in $dates)
    {         
        $ft  += " {$num,10}"     
        $dtt += ",""$dt"""
        $num ++
    }

    "$($beg) $($ft) $($end)$($dtt)"
}
    
display $dates
# Results
<#
"{0,-25}  {1,10} {2,10} {3,10} " -f "Job_Name","2022-07-29","2022-07-28","2022-07-27"  
#>  

您正在传递一个数组,因此响应应该作为数组处理。

Clear-Host
$dates | 
ForEach-Object {$PSItem}
2022-07-29
2022-07-28
2022-07-27

Clear-Host
$dates | 
ForEach{display -dates $PSitem}
# Results
<#
"{0,-25}  {1,10} " -f "Job_Name","2022-07-29"
"{0,-25}  {1,10} " -f "Job_Name","2022-07-28"
"{0,-25}  {1,10} " -f "Job_Name","2022-07-27"
#>

然后根据需要处理这些输出线。

但是,与“@iRon”所说的相同。

截至目前,您的帖子仅发送到控制台,如果您需要在脚本中的其他位置使用数据,那么您需要捕获它并以这种方式使用它。

您可以使用 PowerShell 变量压缩,输出到屏幕并捕获到变量中以供根据需要使用。

Clear-Host
($DisplayRecords = $dates | 
ForEach{display -dates $PSitem})
# Results
<#
"{0,-25}  {1,10} " -f "Job_Name","2022-07-29"
"{0,-25}  {1,10} " -f "Job_Name","2022-07-28"
"{0,-25}  {1,10} " -f "Job_Name","2022-07-27"
#>

Clear-Host
$DisplayRecords
# Results
<#
"{0,-25}  {1,10} " -f "Job_Name","2022-07-29"
"{0,-25}  {1,10} " -f "Job_Name","2022-07-28"
"{0,-25}  {1,10} " -f "Job_Name","2022-07-27"
#>

然后你就可以愉快地选择你想要的了:

Clear-Host
$DisplayRecords[0]
# Results
<#
"{0,-25}  {1,10} " -f "Job_Name","2022-07-29"
#>

Clear-Host
$DisplayRecords[1]
# Results
<#
"{0,-25}  {1,10} " -f "Job_Name","2022-07-28"
#>

Clear-Host
$DisplayRecords[2]
# Results
<#
"{0,-25}  {1,10} " -f "Job_Name","2022-07-27"
#>

更新 - 以下评论的后续内容:

Clear-Host
$dates = ("2022-07-29","2022-07-28","2022-07-27")

function display ($dates)
{

    $end = 'Job_Name '

    ForEach ($dt in $dates)
    { $dtt += $dt }

    $end + $dtt
}
    
display $dates
# Results
<#
Job_Name 2022-07-292022-07-282022-07-27 
#>  
© www.soinside.com 2019 - 2024. All rights reserved.