我想在PowerShell脚本中通过设置标志输出变量和值,并在整个脚本中查看数据。
我该怎么做呢?
例如,PowerShell与下面的PHP代码有什么等价之处?
echo "filesizecounter: " . $filesizecounter
我想在PowerShell脚本中通过设置标志输出变量和值,并在整个脚本中查看数据。
我该怎么做呢?
例如,PowerShell与下面的PHP代码有什么等价之处?
echo "filesizecounter: " . $filesizecounter
当前回答
写主机工作正常。
$Filesize = (Get-Item $filepath).length;
Write-Host "FileSize= $filesize";
其他回答
写主机工作正常。
$Filesize = (Get-Item $filepath).length;
Write-Host "FileSize= $filesize";
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
PowerShell是插补的,不是吗?
在PHP中
echo "filesizecounter: " . $filesizecounter
也可以写成:
echo "filesizecounter: $filesizecounter"
在PowerShell中,这样的东西应该适合您的需求:
Write-Host "filesizecounter: $filesizecounter"
有几种方法:
Write- host:直接写入控制台,不包括在function/cmdlet输出中。允许设置前景色和背景色。
写调试:如果$DebugPreference设置为继续或停止,则直接写入控制台。
Write- verbose:如果$VerbosePreference设置为继续或停止,则直接写入控制台。
后者用于提供额外的可选信息,Write-Debug用于调试(因此似乎适合这种情况)。
附加:在PSH2(至少)脚本中,使用cmdlet绑定将自动获得-Verbose和-Debug开关参数,本地启用Write-Verbose和Write-Debug(即覆盖首选项变量),就像编译的cmdlet和提供者所做的那样。
Write-Host "filesizecounter : " $filesizecounter