标签: powershell

powershell 中的 << EOF 等价物是什么

相当于Linux命令的powershell是什么:

tee file.txt <<EOF
Run Code Online (Sandbox Code Playgroud)

终端<input>会是这样的:

blah blah <\n>
beh ble <\n>
EOF
Run Code Online (Sandbox Code Playgroud)

假设我复制上面的 3 行,然后输入一些(尚未知的)powershell 命令。然后粘贴到终端中。(大概是在粘贴操作之后,在输入末尾点击Ctrl- 。)然后希望在文件file.txt中找到所有这些。D

我想我们必须:

  1. $file 的获取终端输入和未知命令A
  2. 等待来自 shell 的管道输入。
  3. 等待Ctrl-D并中断 (EOF) shell 输入。
  4. 使用未知命令B将输入缓冲区通过管道传输到 $file 。

编辑:2020-01-17

我意识到我错过了上面列表中我自己的观点(第 3 点)。重点是不必输入Ctrl-D而是让 shell 查找“EOF”序列,就像上面的 Linux bash 命令一样。这始终在 bash 脚本中完成,用于创建配置文件甚至其他 bash 脚本。这一功能在 PWSH 中也非常有用。

我能够达到上述目的的方法是使用Tee-Object“here”运算符 ( @'...),如下所示:

$ @"
>> Even if you have not created …
Run Code Online (Sandbox Code Playgroud)

powershell redirection string

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

Powershell + Windows Terminal:在标题栏中显示路径并自定义提示

我正在运行 Windows 终端,这很棒。但有两个设置我想更改:

\n
    \n
  1. 我想将提示更改为更短的内容。默认情况下,提示符显示当前工作目录。它往往会变得很长并且让我的终端变得混乱。

    \n
  2. \n
  3. 当然,一目了然地了解当前工作目录仍然很有价值,因此我想将其放在标题栏中。

    \n
  4. \n
\n

我发现我可以在我的powershell 配置文件中创建一个“提示”功能。我犹豫是否将其更改为. 希望有更聪明、更易于使用的东西吗?我想避免仅仅为了修复我的提示而陷入 MS 文档的深渊。PS>

\n

查看settings.json(这里是架构),恰好有一个 TabTitle 设置,但它似乎只接受一个字符串。是否可以输入提供 pwd 的表达式? \xc2\xaf\\_(\xe3\x83\x84)_/\xc2\xaf

\n
"tabTitle": {\n  "description": "If set, will replace the name as the title to pass to the shell on startup. Some shells (like bash) may choose to ignore this initial value, while others (cmd, powershell) may use this value over the lifetime of the application.",\n  "type": [\n    "string",\n    "null"\n  ]\n},\n …
Run Code Online (Sandbox Code Playgroud)

powershell command-line windows-terminal

7
推荐指数
1
解决办法
4254
查看次数

如何通过powershell7获取进程的GPU使用率和GPU内存信息

我尝试过Get-Process获取Get-CimInstance Win32_ProcessGPU 使用情况和 GPU 内存,但它们都无法提供这些信息。

在Windows任务管理器中,它可以显示GPU内存。

那么,有没有办法让这些进入powershell

powershell gpu windows-10 powershell-7.0

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

如何在不使用外部程序的情况下以 TrustedInstaller 或 SYSTEM 身份运行应用程序?

仅使用命令提示符和/或 PowerShell,但没有外部程序或命令,如何以 TrustedInstaller 或 SYSTEM 身份运行应用程序?

windows powershell command-line runas application-launch

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

如何将powershell中的当前路径放入变量中

(我不会说英语。希望你能理解。)

你好,我有一个 powershell 脚本(.ps1),它需要使用当前路径(例如“C:\Users\user\Desktop”)。我不知道如何将其设置为变量。我知道变量 $PWD,但它是:

Path          
----          
C:\Users\user\Desktop
Run Code Online (Sandbox Code Playgroud)

我需要它而不需要“路径----”。

谢谢你的回答,安德鲁

powershell path environment-variables powershell-ise

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

使用 PowerShell 将 Chrome 全屏启动到特定 URL?

如何在全屏窗口中启动 Chrome 浏览器,并将特定 URL 作为要使用 PowerShell 打开的网页?

start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --start-fullscreen "http://www.google.com"
Run Code Online (Sandbox Code Playgroud)

上面的命令会报错:

“Start-Process:找不到接受参数“http://www.google.com”的位置参数。”

我也尝试过带引号和不带引号。



start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "http://www.google.com"
Run Code Online (Sandbox Code Playgroud)

以上打开页面但不会全屏显示



start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --start-fullscreen
Run Code Online (Sandbox Code Playgroud)

将打开浏览器,但仅打开起始页。

非常感谢任何指导!由于某种原因,全屏和 URL 选项的结合让我感到不舒服。我究竟做错了什么?


有关更多信息,我想要完成的是:全屏打开浏览器到特定页面,检查屏幕截图是否存在,如果存在则将其删除,保存屏幕截图,关闭浏览器。

到目前为止,除了全屏之外,一切正常。

powershell google-chrome fullscreen

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

DNS:为什么服务器在请求 MX 时返回 CNAME 记录

我开始深入研究 DNS 如何解析名称,但我很难理解使用 cmdlet 时收到的答案Resolve-DnsName。首先,我知道该名称id.madeira.gov.pt是另一个名称的 CNAME(基本上最终指向托管多个站点的 Web 服务器)。运行测试时,我首先使用以下命令询问有关该名称的信息:

\n
\xe2\x9d\xaf Resolve-DnsName id.madeira.gov.pt\n\nName                           Type   TTL   Section    NameHost\n----                           ----   ---   -------    --------\nid.madeira.gov.pt              CNAME  72    Answer     crater.madeira.gov.pt\n
Run Code Online (Sandbox Code Playgroud)\n

在此测试之后,我很好奇如果我在使用具有先前名称的 cmdlet时指定MX记录类型会发生什么。Resolve-DnsName最初,我确实认为我不应该得到任何响应,因为指定的名称已注册为 CNAME,并且没有与其关联的 MX 条目。然而,事实并非如此……事实上,我最终得到了与之前相同的输出:

\n
\xe2\x9d\xaf Resolve-DnsName id.madeira.gov.pt -Type MX\n\nName                           Type   TTL   Section    NameHost\n----                           ----   ---   -------    --------\nid.madeira.gov.pt              CNAME  72    Answer     crater.madeira.gov.pt\n
Run Code Online (Sandbox Code Playgroud)\n

我还捕获了与wireshark的交换,这是我收到的响应:

\n

MX 查询响应

\n

我没有得到的是为什么当我请求 MX 记录时我在答案部分中得到 CNAME...我的意思是,我的印象是 DNS 回复可以包含“ 3部分”:

\n
    \n
  • 答:查询的准确记录;
  • \n
  • 权威:标识查询的权威名称服务器的记录;
  • \n
  • 附加:对于查询可能很重要的附加信息
  • \n
\n

我假设 cmdlet 工作正常,因此我对 DNS …

dns powershell

7
推荐指数
1
解决办法
2263
查看次数

有没有办法让 Windows 终端成为 CMD 和 Powershell 的默认容器?

如果我打开新的 Windows 终端,我就可以打开 CMD、Powershell、Wsl 等选项卡。

但是,如果我直接运行 Powershell.exe 或 CMD.exe 或打开 .ps1/.bat 脚本,它们将使用各自的(丑陋的)标准窗口显示,而不是在 Windows 终端内。

我想知道是否有办法使然后始终在 Windows 终端中打开,无论我如何启动它们。

powershell cmd.exe windows-10 windows-subsystem-for-linux windows-terminal

6
推荐指数
1
解决办法
3521
查看次数

如何让PowerShell逐行读取并将其传递给另一个命令?

互联网上关于这个特定主题的很多问题都是针对 Linux 的 BASH,我想知道是否可以仅使用 PowerShell 来实现同样的事情。

在 Bash 上,可以使用:

for line in $(cat file.txt); do echo $line; done
Run Code Online (Sandbox Code Playgroud)

然后 bash 将循环遍历 file.txt 的每一行并将其发送到 echo 或您正在使用的任何命令。

如何在 Windows 的powershell上实现同样的效果?

我发现 PS 有“ Get-Content”命令,其工作方式与“ ”类似cat,但我无法从那里继续。

windows powershell command-line

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

How to convert .reg files to PowerShell set-itemproperty commands automatically?

\n

I am a tinkerer who does many registry hacks and I hate having to click many .reg files one by one; how do I convert .reg files to PowerShell Set-ItemProperty commands automatically?

\n

windows-registry powershell command-line conversion

6
推荐指数
1
解决办法
6369
查看次数