我想在PowerShell脚本中通过设置标志输出变量和值,并在整个脚本中查看数据。

我该怎么做呢?

例如,PowerShell与下面的PHP代码有什么等价之处?

echo "filesizecounter: " . $filesizecounter 

当前回答

写主机工作正常。

$Filesize = (Get-Item $filepath).length;
Write-Host "FileSize= $filesize";

其他回答

echo是Write-Output的别名,尽管它看起来和Write-Host一样。

PowerShell中echo和Write-Host的区别是什么?

echo是Write-Output的别名,它写入Success输出流。这允许通过管道处理输出或重定向到文件中。Write-Host直接写入控制台,因此输出不能再被重定向/处理。

PowerShell是插补的,不是吗?

在PHP中

echo "filesizecounter: " . $filesizecounter 

也可以写成:

echo "filesizecounter: $filesizecounter" 

在PowerShell中,这样的东西应该适合您的需求:

Write-Host "filesizecounter: $filesizecounter"

写主机工作正常。

$Filesize = (Get-Item $filepath).length;
Write-Host "FileSize= $filesize";

我不知道这样做是否明智,但你可以写

"filesizecounter: " + $filesizecounter

它应该输出:

filesizecounter:价值

PowerShell为一些常见命令(如echo)提供别名。在PowerShell中输入以下内容:

Get-Alias echo

要得到回复:

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           echo -> Write-Output

甚至Get-Alias也有一个别名gal -> Get-Alias。你可以写gal echo来获得echo的别名。

gal echo

其他别名列在这里: https://learn.microsoft.com/en-us/powershell/scripting/learn/using-familiar-command-names?view=powershell-6

Cat dir mount rm CD echo move rmdir chdir erase popd sleep clear h ps sort CLS history pushd tee copy kill PWD type del lp r write diff ls ren