在 PowerShell 中使用 for 循环的条件逻辑
Conditional logic using for loops in PowerShell
我开始使用 PowerShell 并使用 "For Loop" 创建条件逻辑。当我运行脚本时,没有结果出来。但是,如果我用一个公式替换这三个函数,它就会起作用。
这是脚本:
for ($OTK = 1; $OTK -le 10; $OTK++)
{
if ($OMAT = 6)
{
if ($OMAF = 7)
{
function TK
{
param ([INT]$OTK)
$OTK * 2
}
function MAT
{
param ([INT]$OMAT, $TK)
$TK * $OMAT /5
}
function MAF
{
param ([INT]$OMAF,$MAT)
$MAT * $OMAF /5
}
}
Write-Output $MAF
}
}
我的问题是:
1、如何让这个循环起作用?
2、如何独立于另一个源(ps1或psm1)调用这些函数?
3、是否可以将这两个 if 语句组合起来?
喜欢if ($OMAT = 6 -and $OMAF = 7)
.
我试过这种格式,但它不起作用。
我"think"这就是你想要的:
function TK
{
param([int]$OTK)
$OTK * 2
}
function MAT
{
param([int]$OMAT, $TK)
$TK * $OMAT / 5
}
function MAF
{
param([int]$OMAF,$MAT)
$MAT * $OMAF / 5
}
$OMAT = 6
$OMAF = 7
for ($OTK = 1; $OTK -le 10; $OTK++)
{
if ($OMAT -eq 6 -and $OMAF -eq 7)
{
MAF $OMAF (MAT $OMAT (TK $OTK))
# (TK $OTK) is the output of TK that is fed into
# MAT which takes $OMAT and the output of TK, that is fed into
# MAF which takes $OMAF and the output of MAT
}
}
在您的原始脚本中,您定义了函数但从不调用它们。正如它在评论中指出的那样,您使用 =
进行比较和赋值。在 PowerShell 中,相等比较运算符是 -eq
、-ieq
和 -ceq
.
我开始使用 PowerShell 并使用 "For Loop" 创建条件逻辑。当我运行脚本时,没有结果出来。但是,如果我用一个公式替换这三个函数,它就会起作用。 这是脚本:
for ($OTK = 1; $OTK -le 10; $OTK++)
{
if ($OMAT = 6)
{
if ($OMAF = 7)
{
function TK
{
param ([INT]$OTK)
$OTK * 2
}
function MAT
{
param ([INT]$OMAT, $TK)
$TK * $OMAT /5
}
function MAF
{
param ([INT]$OMAF,$MAT)
$MAT * $OMAF /5
}
}
Write-Output $MAF
}
}
我的问题是:
1、如何让这个循环起作用?
2、如何独立于另一个源(ps1或psm1)调用这些函数?
3、是否可以将这两个 if 语句组合起来?
喜欢if ($OMAT = 6 -and $OMAF = 7)
.
我试过这种格式,但它不起作用。
我"think"这就是你想要的:
function TK
{
param([int]$OTK)
$OTK * 2
}
function MAT
{
param([int]$OMAT, $TK)
$TK * $OMAT / 5
}
function MAF
{
param([int]$OMAF,$MAT)
$MAT * $OMAF / 5
}
$OMAT = 6
$OMAF = 7
for ($OTK = 1; $OTK -le 10; $OTK++)
{
if ($OMAT -eq 6 -and $OMAF -eq 7)
{
MAF $OMAF (MAT $OMAT (TK $OTK))
# (TK $OTK) is the output of TK that is fed into
# MAT which takes $OMAT and the output of TK, that is fed into
# MAF which takes $OMAF and the output of MAT
}
}
在您的原始脚本中,您定义了函数但从不调用它们。正如它在评论中指出的那样,您使用 =
进行比较和赋值。在 PowerShell 中,相等比较运算符是 -eq
、-ieq
和 -ceq
.