Powershell 如何将输入的交互式提示消息重定向到文件

Powershell 如何将输入的交互式提示消息重定向到文件,powershell,stdin,Powershell,Stdin,我有一个文件夹,里面有一个文件: C:\tmp\a\file.txt 当我尝试使用以下内容删除此文件夹时: rd c:\tmp\a 我正在接收系统输入消息: 我想将此邮件重定向到一个文件。 我尝试了以下任何建议的重定向操作: 但是没有一个为我工作。 我还尝试了*>操作符: 当我尝试基本的操作符时,它只会向我发送系统消息: 我尝试执行此重定向的真正原因是因为我正在处理客户端和服务器之间的反向shell。当服务器试图从客户端删除文件夹时,问题会转到客户端而不是服务器。 因此,在通过网络进

我有一个文件夹,里面有一个文件:

C:\tmp\a\file.txt
当我尝试使用以下内容删除此文件夹时:

rd c:\tmp\a
我正在接收系统输入消息:

我想将此邮件重定向到一个文件。
我尝试了以下任何建议的重定向操作:

但是没有一个为我工作。
我还尝试了
*>
操作符:

当我尝试基本的
操作符时,它只会向我发送系统消息:

我尝试执行此重定向的真正原因是因为我正在处理客户端和服务器之间的反向shell。当服务器试图从客户端删除文件夹时,问题会转到客户端而不是服务器。

因此,在通过网络进行尝试之前,我首先想了解如何进行这种基本重定向

您是否尝试将文件输出命令管道化到函数

rd c:\tmp\a | Out-File -FilePath C:\tmp\a\file.txt

此外,我必须指出,您正在尝试删除文件夹“a”,但随后尝试将文本输出到该文件夹中的文件。这对我来说似乎很奇怪;但是,可能我误解了某些内容。

您可以使用
开始转录本
将控制台输出重定向到文件

Start-Transcript -path C:\output.txt -append
# do some stuff
Stop-Transcript

这将重定向输出文件C:\output.txt

我尝试了您编写的命令,但仍然收到系统消息。关于我试图将信息发送到此文件夹中的文件的逻辑问题,您可以将文件夹路径更改为其他位置,这对我来说无关紧要。无论如何,系统消息应该在删除之前重定向到文件=>它不会删除,因为我不会选择“是”。好的,这更有意义。因此,从我的研究中,rd或Remove项没有输出。我认为您唯一的选择是指定希望递归和详细地执行函数。这当然会无限期地删除文件夹和文件。这是一个小小的进步。它会将输出移动到文件中,但不会重定向。我希望它重定向=>我不应该在控制台中看到任何消息,因为我正在重定向它们。注意:Windows PowerShell 3.0中引入了All(*)、Warning(3)、Verbose(4)和Debug(5)重定向运算符。它们在早期版本的Windows PowerShell中不起作用。您正在使用PowerShell v2。而且,顺便说一句,输出重定向操作符不允许您重定向确认消息。