windows - 显示 GetInvalidFileNameChars() 的 Powershell 输出的十六进制值
问题描述
在带有 PowerShell v. 2 的 Windows 7 中,我试图使用[System.IO.Path]::GetInvalidFileNameChars()
.
在提示符下输入时,它会列出字符,每行一个。我想要的是获得他们的十六进制(或十进制)代码。
我尝试过的事情是:
ForEach ($char in [System.IO.Path]::GetInvalidFileNameChars()) {"{0:x}" -f $char}
: 输出字符,而不是十六进制。[System.IO.Path]::GetInvalidFileNameChars() | { $_.ToString("X2") }
表达式只允许作为管道的第一个元素。
[System.IO.Path]::GetInvalidFileNameChars() | Format-Hex -Raw -Encoding Ascii
无法识别术语“格式十六进制”...
ForEach ($c in [System.IO.Path]::GetInvalidFileNameChars()) {echo $c.ToString("X2")}
找不到“ToString”的重载和参数计数:“1”。
- 等等
我熟悉 Bash、Perl,甚至是 lame cmd.exe
,但不幸的是对 PowerShell 一无所知。
但我确信必须有一种简单易行的方法来列出这些字符的十六进制值。
更新: 感谢下面的答案,我最终使用的命令是这个命令,除了十六进制值之外,它还打印十进制值和字符本身:
ForEach ($c in [System.IO.Path]::GetInvalidFileNameChars()) { $i=([int]$c); "{0,3:d} {1,2:x2} {2,1}" -f $i,$i,$c }
解决方案
尝试
[System.IO.Path]::GetInvalidFileNameChars() | ForEach-Object {'{0:X2}' -f [int]$_ }
推荐阅读
- kubernetes - 如何在主节点上实际安排 Pod
- angular - Angular Ionic后退按钮仅在我在其上滑动指针后才起作用
- python - Pandas:比较两个布尔系列,如果两者都为真,则输出第三个系列
- javascript - Angular - 具有三元运算符响应的三元运算符
- bash - curl 使用 --netrc-file 选项不起作用,但使用 -d 它可以
- keycloak - 未捕获的 ReferenceError:未定义 Keycloak
- java - 当应用程序在后台 bing 后恢复时,我的 Activity 出现空对象异常
- node.js - 如何通过 Web 套接字进行身份验证?
- opencv - 使用 Python 读取大型 16 位灰度 PNG 的大问题
- java - 这个问题可以有优化的方法吗?