首页 > 解决方案 > Powershell 脚本不返回任何内容(在 MAC OS 上运行)

问题描述

我一直在搞乱这个powershell脚本(我在我的mac OS上安装了powershell)我还在第一行修改了代码。

我没有收到任何错误,只是没有任何反应。

$folder = “/Users/mbp/Desktop/nier_unpacked_2_extracted“
$files = gci -recurse $folder | where { ! $_.PSIsContainer }
$fileContents = $files | foreach { gc -encoding utf8 $_.fullname }
$lines = $fileContents | foreach { if ($_ -match "^JP: (.*)$") { $matches[1] } }
$chars = $lines | foreach { $_.ToCharArray() }
$groups = $chars | group-object
$totals = $groups | sort-object -desc -property count

基本上输出日文文本字符以及它们出现的频率。

这是原始代码(修改前):

$folder = "F:\nier_unpacked_2_extracted"
$files = gci -recurse $folder | where { ! $_.PSIsContainer }
$fileContents = $files | foreach { gc -encoding utf8 $_.fullname }
$lines = $fileContents | foreach { if ($_ -match "^JP: (.*)$") { $matches[1] } }
$chars = $lines | foreach { $_.ToCharArray() }
$groups = $chars | group-object
$totals = $groups | sort-object -desc -property count

这是我从中获得代码的资源的链接,如果有帮助的话:https ://dev.to/nyctef/extracting-game-text-from-nier-automata-1gm0

我不确定为什么不幸的是什么都没有返回。

标签: macospowershelloperating-system

解决方案


在 PowerShell 中(与大多数其他编程语言一样),$totals = ...意味着您将右侧表达式的结果分配给$totals左侧的变量 ( )。
要显示变量 ( $totals) 的内容,您可以使用Write-Output $totals, Write-Host $totals, Out-Defualt $totals, 以及许多其他输出 cmdlet。
无论如何,在 PowerShell 中,在默认显示输出的情况下,通常不需要使用 cmdlet。例如:

$totals Enter


推荐阅读