问题标签 [powershell-v6.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - 如何处理不同的路径分隔符?
我想编写在所有 PowerShell 平台上运行的代码。以下代码\
在 Windows 上使用路径分隔符生成输出,/
在 Linux 上使用路径分隔符生成输出。
我想排除目录下任何位置的obj
文件。目录的数量和深度obj
未知。一种方法是使用以下内容过滤掉那些。但是,这在 Linux 上不起作用,因为路径分隔符不同。
使用正则表达式模式似乎可行,但我想知道是否有更清晰的方法来做到这一点。我觉得这很尴尬。不仅如此,该\\
字符作为 Linux 文件名的一部分也是有效的,这可能会导致该代码存在故障漏洞。
linux - Powershell Core“无法解析主机名”
我在 Arch Linux 上使用 Powershell 6b5 AppImage(使用官方 AppIimage)。我可以在 powershell 之外使用 IPv4 和 IPv6 网络,包括 URL 和 IP。但是,在 PS 中,当我调用以下命令时:
iwr 'http://google.com'
,
我明白了
iwr : Couldn't resolve host name
.
执行以下操作时出现相同的错误(IPv4 地址是 google.com 之一)
iwr 'http://172.217.26.238'
使用 IPv6 地址,我得到一个 404,这意味着连接工作正常:
iwr 'http://[2404:6800:4009:808::200e]'
有人对如何解决这个问题有任何指示吗?
powershell - Powershell 确定永久移动(重定向)资源的新 URL
我在 Linux 上使用 AppImage 使用 Powershell Core v6-beta.5。有没有办法找出 301 重定向的“新”位置?
Invoke-WebRequest -Method HEAD http://SomethingThatThrows301.com/ -MaximumRedirection 0
引发错误 ( Response status code does not indicate success: 301 (Moved Permanently)
)。
虽然错误确实提到移动是 301,但我仍然希望有一个合适的对象告诉我这一点,以及新地址。
有没有办法这样做?
docker - 在 Docker 容器中运行 Opencover 和 ReportGenerator
我正在尝试使用此图像 microsoft/aspnetcore-build:2.0.0 为 asp.net 核心应用程序运行 opencover 和 reportgenerator,我有一个 opencover powershell 脚本,并希望在容器内安装 powershell for linux 以运行该脚本,任何对此的指导或解决方案?
powershell - 无法将默认终端设置为 PowerShell 6.0
我正在尝试将 vscode 中的默认终端设置为 PowerShell 6.0。但是,重启vscode后,出现如下信息,终端没有启动。
这是我尝试使用的用户设置覆盖代码。注意:必须转义反斜杠路径分隔符。
powershell - 数学出乎意料地产生无穷大'∞'
目标是有一个进度条监控将其所在步骤写入监视文件的外部进程。
如果我没有 aStart-Sleep
在循环中,它将产生有关无法转换无穷大的消息。为什么是这样?我愿意有一些睡眠时间,但为什么需要它以及睡眠所需的最短时间是多少?
这是代码。同样的问题出现在 PowerShell 5.1 和 6.0 上。我要做的就是运行它ECHO>wf.txt 1
,然后ECHO>wf.txt 2
等等。有时错误发生在第二步,但有时在第三步。
powershell - PowerShell 6 - 支持 Windows GUI 库
我了解新的 PowerShell 6/core 缺乏对 Windows GUI 库的支持,我使用Windows.Forms .NET 类在 PS-5.1 中开发了一些重要项目。
问题: 我们计划在今年夏天升级到 PowerShell 6,这意味着我将失去所有的 GUI 功能(使用 Windows.Forms 开发)。
问题: 在这种情况下我们应该怎么做才能在我们的 PS 应用程序中保留 GUI 功能。您是否设想 Microsoft 会为未来的 GUI 支持提供任何替代方案?
TIA
powershell - 如何删除 Powershell 开始文本?
Powershell 6 具有 Unix 风格/etc/issue
,其中提到了文档的链接。
这很好,但是:
- 我知道文档在哪里
- 我知道我启动了 Powershell 6
如何删除部分或全部消息?IIRC Powershell 5 仍然有版权信息,所以也许我不能删除它,但去掉最后 3 行会有帮助吗?
powershell - 如何从另一个 PS 会话启动新的 PowerShell 会话,并运行带有 splatted 参数的 CmdLet
目标:
是为了能够测试是否安装了 PowerShell v6(没问题),如果是,则为某些 CmdLets 调用该 shell。这将在 PowerShell v5.1 中运行的脚本中调用。我无法完全转换到 v6,因为在此环境中还有其他依赖项尚无法工作,但是,v6 对某些 CmdLets 提供了显着优化,导致操作改进超过 200 倍(具体来说,Invoke-WebRequest
调用将导致下载大文件 - 在 v5.1 中,4GB 文件的下载需要 1 个多小时,在 v6 中,使用同一子网中的相同机器大约需要 30 秒。
附加点:
但是,我还建立了一组动态参数,用于添加到 CmdLets 参数列表中。例如,构建的参数列表看起来像:
并且运行 CmdLet 通常会按预期工作:
什么已经尝试过:
在过去的几天里,我查看了这个论坛和其他地方的各种帖子。我们可以创建一个可以调用的简单脚本块,也可以按预期工作:
但是,尝试在Start-Process
CmdLet 中传递相同的东西失败了,因为我猜参数哈希表没有被评估:
结果是:
下一步去哪儿?
我想我必须以某种方式将参数作为参数传递,以便它们可以被评估和喷溅,但是,语法让我望而却步。我什至不确定是否Start-Process
是最好的 CmdLet 使用,而是我应该寻找其他东西,比如Invoke-Command
,还是完全不同的东西?
将这个 CmdLet 的结果返回到原始 shell 会很棒,但目前,它只需要一些功能。
powershell - 使用 -PathType 参数如何影响 Test-Path 的效率?
使用参数指定 Leaf 或 Container 是否对cmdlet-PathType
的效率有任何影响?Test-Path
更多的是一个学术问题,因为我无法想象这里的任何收益都可以忽略不计。