【问题标题】:Powershell Script isn't returning anything (Running on MAC OS)Powershell 脚本不返回任何内容(在 MAC OS 上运行)
【发布时间】:2021-02-20 10:48:15
【问题描述】:

我一直在搞乱这个 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

我不知道为什么不幸没有返回任何东西。

【问题讨论】:

  • 有什么错误吗?你试图达到什么目的(除了搞砸)?你能指望什么?你实际上得到了什么?见how to ask
  • 我会附上我所期待的截图。该链接给出了代码和输出。我也没有收到任何错误,只是没有任何反应。
  • 也感谢您指出这些错误,我更新了帖子以提供更多信息
  • 到目前为止我可以确定,脚本不应该返回任何东西。结果在$totals 中。意思是,如果您输入$totals<Enter>,您应该会看到结果。如果没有,请尝试 $groups<Enter>$files<Enter>
  • $totals 成功了!唯一的问题是我得到的是数字而不是日文字符。我将根据我得到的结果编辑这篇文章。

标签: macos powershell operating-system


【解决方案1】:

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

$totals 输入

【讨论】:

  • 感谢我对其进行了编辑,对于新问题,我会尝试用图像清理所有内容,谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多