Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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 Date变量在赋值为即将到来的星期五后仍然包含todays Date_Powershell - Fatal编程技术网

Powershell Date变量在赋值为即将到来的星期五后仍然包含todays Date

Powershell Date变量在赋值为即将到来的星期五后仍然包含todays Date,powershell,Powershell,我有一个小的powershell脚本来查找即将到来的星期五的日期。但是,在指定了Friday日期的值之后,my date变量仍然打印出todays日期 $date = Get-Date for($i=1; $i -le 7; $i++) { if($date.AddDays($i).DayOfWeek -eq 'Friday') { $date.AddDays($i) break } } Write-Host "$date

我有一个小的powershell脚本来查找即将到来的星期五的日期。但是,在指定了Friday日期的值之后,my date变量仍然打印出todays日期

$date = Get-Date

for($i=1; $i -le 7; $i++)
{        
    if($date.AddDays($i).DayOfWeek -eq 'Friday')
    {
        $date.AddDays($i)
        break
    }
}
Write-Host "$date"

AddDays
似乎返回新的日期对象,而不是更新
$date
中的日期对象。尝试在if语句中为新日期指定
$date
,如下所示:

 $date = $date.AddDays($i)

AddDays
似乎返回新的日期对象,而不是更新
$date
中的日期对象。尝试在if语句中为新日期指定
$date
,如下所示:

 $date = $date.AddDays($i)
您必须将分配给$date的值返回给自身


您必须将分配给$date的值返回给它本身。

您可能昨天(星期三)测试了它,因为它今天可以工作。 代码中的问题是,它每次都重复使用相同的
$Date
,并且可能会超过预期的日期:

Date + 1
Date + 3 (1 + 2)
Date + 6 (1 + 2 + 3)
...
换句话说,
$date=Get date
应该在您的循环中

(Get-Date).AddDays((1..7 | Where {(Get-Date).AddDays($_).DayOfWeek -eq 'Friday'}))

您可能在昨天(周三)测试了它,因为它在今天工作。 代码中的问题是,它每次都重复使用相同的
$Date
,并且可能会超过预期的日期:

Date + 1
Date + 3 (1 + 2)
Date + 6 (1 + 2 + 3)
...
换句话说,
$date=Get date
应该在您的循环中

(Get-Date).AddDays((1..7 | Where {(Get-Date).AddDays($_).DayOfWeek -eq 'Friday'}))

@ArcSet:他希望在if块中显示日期。他必须把它分配到$datevariable@ArcSet:他希望在if块内显示该日期。他必须把它分配给$date VARIABLE我在我的答案里放了一个最小化函数,我在我的答案里放了一个最小化函数。