• 【输出重定向】Windows下 cmd 、powershell输出重定向


    一、cmd和powershell

    大家如果只用过Windows,可能cmd接触的相对多一点。按win +r 输入cmd即可打开。我一般用的是powershell。

    cmd:
        cmd是command的缩写,即命令提示符。是提示命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。 在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。输入一些命令,cmd.exe可以执行,比如ping url/ip。它也可以执行BAT文件。

    powershell:
        PowerShell 是一种跨平台的任务自动化和配置管理框架(在Windows、Linux、macOS、ARM、Docker上都能用),由命令行管理程序和脚本语言组成。 与大多数接受并返回文本的 shell 不同,PowerShell 构建在 .NET 公共语言运行时 (CLR) 的基础之上,接受并返回 .NET 对象。 这一根本上的改变引入了全新的自动化工具和方法。
        
        学习powershell可以到微软官网,学习地址。现在windows最新的版本是7.3.0。

    对比项cmdpowershell
    框框颜色黑色蓝色
    起用时间1981年2006年
    适用性仅支持cmd脚本(bat,cmd)支持cmd脚本(bat,cmd)和powershell脚本(ps1)
    扩展性仅支持cmd内置函数支持cmd内置函数+powershell cmdlet
    命令别名不支持支持
    输出内容类型对象文本
    程序并发支持不支持
    是否有ISE(编译器)有,而且能直接调试无,只有命令行
    是否支持.net库
    是否支持WMI(监控工具)
    是否可以管理微软云资源
    是否支持shell
    是否可以运行所有类型程序

    二、什么是输入输出重定向

    输入重定向:指的是重新指定设备来代替键盘作为新的输入设备;
    输出重定向:指的是重新指定设备来代替显示器作为新的输出设备。

    通常是用文件或命令的执行结果来代替键盘作为新的输入设备,而新的输出设备通常指的就是文件。

    我暂时只用到了输出重定向,本文对输入重定向只做简单语法说明。

    什么时候会用到输出重定向?

    1. 需要将命令执行结果保存;
    2. 需要保存命令执行日志;
    3. 输出太长,cmd或者powershell显示不方便,或者内容超出最大缓冲区大小;
    4. 其他(上面是我暂时遇到的)…

    三、语法及示例

    PowerShell 支持重定向以下输出流。

    说明已引入的版本
    1成功PowerShell 2.0
    2错误PowerShell 2.0
    3警告PowerShell 3.0
    4详细PowerShell 3.0
    5调试PowerShell 3.0
    6信息PowerShell 5.0
    *所有流PowerShell 3.0

    PowerShell 中还有一个 进度 流,但它不支持重定向。

    成功和错误流类似于其他 shell 的 stdout 和 stderr 流。 但是,stdin 未连接到用于输入的 PowerShell 管道。

    PowerShell 重定向运算符如下所示,其中 n 表示流号成功流 ( 1 ) 为默认值(如果未指定任何流)。

    运算符说明语法
    >将指定的流发送到文件。n>
    >>将 指定的流追加到文件中。n>>
    >&1将指定的流重定向到 成功 流。n>&1

    示例

    (1)将yt-dlp的帮助文档保存到 help.txt中

    yt-dlp -h >help.txt
    
    • 1

    (2)将yt-dlp -F url 的结果追加到上述help.txt文件中

    yt-dlp -F https://www.youtube.com/watch?v=JHNaqr-q3to"&"ab_channel=%EA%BD%83%EB%B9%B5TVGGotBBangTV >>help.txt
    
    • 1

    powershell截图

    其中:
    命令1会将命令执行结果保存到help.txt中,没有该文件会自动创建,有该文件则会清除原有内容后再写入;
    命令2会将命令执行结果追加到help.txt的末尾;
    上述操作都是默认将成功流进行重定向,和 yt-dlp -h 1>help.txt的结果;
    yt-dlp是我安装的一个命令行工具,这里只是测试用。

    生成的txt文件如下:

    在这里插入图片描述

  • 相关阅读:
    股票量化系统QTYX选股框架实战案例集|华为补涨龙三连板打板进,套利8个点离场-230908...
    Linux上部署Kubectl(k8s)
    windows协议详解之-RPC/SMB/LDAP/LSA/SAM域控协议关系
    C++PrimerPlus(第6版)中文版:Chapter16.1.2string类输入
    操作系统——网络编程——socket——TCP/UDP
    利用四元数进行蛋白质原子坐标旋转变换
    软件测试开发从0到1(自用,更新中)
    OpenCV图像处理学习一,加载显示修改保存图像相关函数
    【Python Web】Flask框架(七)jQuery类库
    【Javascript】编写⼀个函数,排列任意元素个数的数字数组,按从⼩到⼤顺序输出
  • 原文地址:https://blog.csdn.net/weixin_43764974/article/details/127837371