gpt4 book ai didi

powershell - 如果变量在 PowerShell 中为真,则仅使用选项运行

转载 作者:行者123 更新时间:2023-12-03 01:03:54 24 4
gpt4 key购买 nike

抱歉,这很难解释。我有一个很长的管道等命令,如下所示:

param (
[alias("r")]
[Parameter(Mandatory = $false)]
[switch]$recurse = $false,
[...]

$allFiles = Get-ChildItem $folder | Where-Object { $_.CreationTime -ge [DateTime]::Now.AddHours($hoursOld) } |
ForEach-Object {
[...]

还有另一种运行 Get-ChildItem 的方法,即使用 -recurse 选项 .我只知道如何重新编写整个命令,但是使用“-recurse”选项,并在 if/else 中包装两种方式...

仅当 -r(切换命令行选项,$recurse 的别名)为 时,才可以在 gci 之后包含该 -recurse| $真 ?

前任:
$allFiles = Get-ChildItem $folder -recurse | Where-Object { $_.CreationTime -ge [DateTime]::Now.AddHours($hoursOld) } |
ForEach-Object {
[...]

PS C:\PSScripts> $psversiontable

Name Value
---- -----
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.42000
BuildVersion 6.3.9600.18728
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2

最佳答案

开关可以是$true$false .排除与 $false 相同, 包含与 $true 相同.但是,您可以通过显式覆盖它:

$allFiles = Get-ChildItem $folder -recurse:$recurse | Where-Object ...

这取值 $recurse ,并将其应用于 -recurse .所以你有 -recurse:$true$recurse包括在内,和 -recurse:$false当它不是。

关于powershell - 如果变量在 PowerShell 中为真,则仅使用选项运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52087406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com