标签: powershell

PowerShell 不显示 Unix 颜色

我在 Windows 机器上使用各种 Linux 程序;其中一些具有彩色输出。GnuWin32 等等。

\n\n

但是,Windows PowerShell 不支持 Linux 颜色;它收到类似的消息\xe2\x86\x90[0m31m(这是颜色控制代码),并渲染该消息而不是颜色。

\n\n

有没有办法解决?

\n

linux powershell console colors

5
推荐指数
1
解决办法
1万
查看次数

如何在 Powershell 中以终端模式启动 emacs?

当我在 Powershell 中做显而易见的事情时:

Start-Process "C:\bin\emacs-23.3\bin\emacs.exe" -ArgumentList "-nw"
Run Code Online (Sandbox Code Playgroud)

然后 emacs 加载一个新的“cmd.exe”终端,在该终端中它处于终端模式,而不是在 Powershell 中以终端模式启动。如何在现有 Powershell 终端中以终端模式启动 emacs?

powershell emacs

5
推荐指数
1
解决办法
5408
查看次数

如何在 powershell 中运行与别名同名的可执行文件?

sc.exe是一个用于在 Windows 上操作服务的命令行工具。例如,要列出计算机上的所有服务,您可以sc query从命令提示符中键入。但是,如果您从 powershell 执行此操作,它会执行Set-Content,因为 sc 是 Set-Content 的别名。Even& sc会执行别名。

如何从 powershell 提示符运行 sc.exe?

powershell command-line

5
推荐指数
1
解决办法
3723
查看次数

如何从 Powershell 中删除(基础)?

在为 python 安装 Anaconda 之后。(base) 出现在 Powershell 中的目录之前。如何删除它?

在此处输入图片说明

powershell python anaconda

5
推荐指数
1
解决办法
3202
查看次数

删除条目并将其添加到 DNS 后缀

通过命令行参数或 PowerShell 我想操作以下列表:

在此处输入图片说明

如果您想知道为什么,那是因为一个非常具体的 VPN 在您连接时将其设置为客户端的域,但从未将其删除。它中断了我所有的本地访问,并且总是替换列表中的所有条目,它不仅仅是添加到列表中。

我尝试了我发现的注册表设置,例如添加到搜索列表中 HKLM\System\currentcontrolset\services\tcpip\parameters

我试过刷新我的 dns,重置网络适配器。

我尝试寻找其他注册表项,编辑特定于适配器的 dns 后缀。

这些似乎都没有对这个列表产生实际影响,但是,每次使用 VPN 客户端时,它都会以某种方式破坏我的网络连接。

这里关于 SU 的现有问题没有解决这个问题。一切都解决了前面提到的要点,但不是这个实际框中的值。到目前为止,我已经尝试了所有零影响的变化。

windows dns powershell

5
推荐指数
1
解决办法
3499
查看次数

youtube-dl - 下载最佳音频/视频,嵌入缩略图,并转换为 mp4

我已经仔细阅读了 youtube-dl 文档。我发现我认为正是我想要的……但我遇到了一个障碍,我很想知道 youtube-dl 的任何更高级的选项是否可以帮助解决我的问题。对于一些更高级的选项,没有太多的文档,而且我还在学习 Python……所以浏览源代码是一项努力。哈哈。

目标:

  • 下载最佳视频 + 最佳音频(如果组合不可用,默认为“最佳”)
  • 嵌入缩略图
  • 在文件中包含元数据信息
  • 将最终文件输出为 MP4 - 不能是 MKV

我当前的命令:

youtube-dl -f "bestvideo+bestaudio[ext=m4a]/best" --embed-thumbnail --add-metadata [url]
Run Code Online (Sandbox Code Playgroud)

问题:

如果“最佳视频”是 webm 文件...它会检测到 WEBM + M4A 不兼容,并将合并为 MKV 文件而不是 MP4(就像通常那样)。由于此步骤是在通过 AtomicParsley 嵌入缩略图之前执行的...引发错误,因为缩略图嵌入不支持 MKV。

更新:我后来想起上面的说法是不准确的。实际发生的是 WEBM 视频工作正常,但导致问题的是 WEBM 音频。YouTube 对 WEBM 音频使用 Opus 编码,当 youtube-dl 尝试合并这两个文件时,它最终将不得不使用 MKV 容器而不是 MP4,因为 ffmpeg 不允许在 MP4 容器中安全地使用 WEBM/Opus。为了强制进行这种转换,您必须向 ffmpeg 添加“--strict 2”(可以通过 youtube-dl 参数传入)。我的解决方案是使用“bestaudio[ext=m4a]”排除 WEBM 音频格式。完成此操作后,我只需将“--merge-output-format mp4”添加到我的 youtube-dl 命令中(如标记答案所推荐)。

但是...如果仅视频的 webm 文件首先转换为 MP4,那么这一切都不是问题。

所以......有谁知道,如果有办法告诉 youtube-dl 在下载视频文件时,在做其他任何事情之前立即将其转换为给定类型(MP4)?

又名:

  1. [youtube-dl] 下载缩略图
  2. [youtube-dl] 下载视频文件 …

powershell ffmpeg youtube-dl powershell-core

5
推荐指数
1
解决办法
1万
查看次数

如何将命令传递到在新 Windows 终端中打开的 shell

我可以从 PowerShell 运行以下命令来启动另一个 PowerShell 实例,更改窗口名称,然后运行ls命令并从新的 PowerShell 实例打开 Chrome 到特定网站。

start powershell `
"-noexit", `
"`$host.ui.RawUI.WindowTitle` = 'list files and goto SO'; `
ls ;`
Start-Process chrome.exe https://stackoverflow.com/"
Run Code Online (Sandbox Code Playgroud)

我如何在新的 Windows 终端 (wt) 中做同样的事情?

从 PowerShell 运行以下命令会打开 wt 到“Windows Powershell”配置文件并更改“Windows Powershell”选项卡的标题。

start wt '-p "Windows PowerShell" --title  "list files and goto SO" '
Run Code Online (Sandbox Code Playgroud)

但是,我无法传入任何其他命令以在 Windows 终端“Windows Powershell”配置文件外壳中执行。

这是目前可能的吗?

我知道以下内容:https : //github.com/microsoft/terminal/pull/3495 https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows

powershell windows-10 windows-terminal

5
推荐指数
1
解决办法
3500
查看次数

正则表达式显示句子的首字母,用星号或点替换剩余的字母

我试图找到一个正则表达式来替换这种格式的文本

balle spaziali
bambole e botte
calda emozione
fuori di testa
giovani diavoli
ragazze vincenti
ore contate
Run Code Online (Sandbox Code Playgroud)

通过这种方式

b.... s.......
b...... e b.....
c.... e......
f.... d. t....
g...... d......
r...... v.......
o.. c......
Run Code Online (Sandbox Code Playgroud)

你有想法吗?

我使用 notepad++ 作为文本编辑器,我不知道我是否需要批处理或 powershell 脚本。
谢谢你的任何建议

powershell notepad++ regex batch

5
推荐指数
2
解决办法
1060
查看次数

为同一台机器上的另一个用户注册用户的证书

如果我以普通用户身份登录,如何为其他用户(在同一台机器上)下载/注册用户证书?这可以使用 runas 命令完成,但无法准确计算。

windows powershell runas client-certificate cmd.exe

5
推荐指数
1
解决办法
269
查看次数

如何在 PowerShell 中将 .lnk 文件固定到任务栏?

我在 stackoverflow.com 上看到了许多类似的问题,但这是不同的,在您想知道之前,我为什么不在 stackoverflow.com 上发布问题?因为我目前被禁止在那里提问,而且我目前没有足够的时间来编辑所有这些问题。

我想要做的简要说明:我想以编程方式将提升的 cmd、powershell、pwsh、python 等固定到任务栏,当然我知道如何使用 explorer.exe 创建快捷方式并固定它们,但我考虑使用 GUI方法很累很乏味,要完成一个简单的工作必须多次点击,而且我想固定很多程序......

我发现了这个:

如何使用 Powershell 创建以管理员身份运行的快捷方式

一个例子:

$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\PowerShell.lnk")
$Shortcut.TargetPath = "C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe"
$Shortcut.Save()
$bytes = [System.IO.File]::ReadAllBytes("$Home\Desktop\PowerShell.lnk")
$bytes[0x15] = $bytes[0x15] -bor 0x20
[System.IO.File]::WriteAllBytes("$Home\Desktop\PowerShell.lnk", $bytes)
Run Code Online (Sandbox Code Playgroud)

该示例将在具有管理员权限的桌面上创建一个名为“PowerShell”的默认 PowerShell 的快捷方式。

现在,将它包装在一个函数中:

function admin-shortcut {
  PARAM (
    [Parameter(ValueFromPipeline=$true, Mandatory=$true, Position=0)] [system.string] $path,
    [Parameter(ValueFromPipeline=$true, Mandatory=$true, Position=1)] [system.string] $name
    )
    $WshShell = New-Object -comObject WScript.Shell
    $Shortcut = $WshShell.CreateShortcut("$Home\Desktop\$name.lnk")
    $Shortcut.TargetPath = $path
    $Shortcut.Save()
    $bytes = [System.IO.File]::ReadAllBytes("$Home\Desktop\$name.lnk")
    $bytes[0x15] = $bytes[0x15] -bor 0x20
    [System.IO.File]::WriteAllBytes("$Home\Desktop\$name.lnk", $bytes) …
Run Code Online (Sandbox Code Playgroud)

start-menu taskbar powershell shortcuts windows-10

5
推荐指数
1
解决办法
2400
查看次数