gpt4 book ai didi

windows - 从 Windows 命令提示符将 stdin 发送到进程

转载 作者:可可西里 更新时间:2023-11-01 12:57:14 25 4
gpt4 key购买 nike

在 Windows 中,我有控制台程序在隐藏控制台的情况下在后台运行。无论如何直接输入到程序控制台?我希望能够做类似的事情:

echo Y| *the_running_process_here*

将 Y 发送到进程的标准输入。

最佳答案

据我所知,这是不可能通过基本的 cmd 命令实现的。 PowerShell不过功能更强大,可以使用 Windows 中的 .NET 框架。

我发现这个 PowerShell 脚本声称可以将文本传递给已经打开的 cmd:

$psi = New-Object System.Diagnostics.ProcessStartInfo;
$psi.FileName = "cmd.exe"; #process file
$psi.UseShellExecute = $false; #start the process from it's own executable file
$psi.RedirectStandardInput = $true; #enable the process to read from standard input

$p = [System.Diagnostics.Process]::Start($psi);

Start-Sleep -s 2 #wait 2 seconds so that the process can be up and running

$p.StandardInput.WriteLine("dir"); #StandardInput property of the Process is a .NET StreamWriter object

来源:https://stackoverflow.com/a/16100200/10588376

您必须以 .ps1 结尾保护此脚本并运行它。

将其用作 cmd 命令的解决方法是让它接受参数,这样您就可以使用 yourScript.ps1 procced_pid arguments 运行它示例。

标准的 windows cmd 太有限了,无法独自完成这样的任务。

关于windows - 从 Windows 命令提示符将 stdin 发送到进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2778836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com