• 命令行 command line cmd 尝试 新建、自定义 文件描述符


    • echo 是什么?命令或位于MinGWcygwin的程序(echo.exe)?(无WindowsSystem32echo.exeWindowsSysWow64echo.exe之类的)
    • 使用 where echo 可(从当前目录和PATH环境变量指定的路径的中)查询文件位置。
    • echo 123 >&3 将命令的标准输出(文件符号1)重定向到文件符号3。相当于 echo 123 1>&3 。
    • echo 123 >3 在当前工作目录(默认,C:Users用户名)下生成了新文件3(如,C:Users用户名3test)。
    • 初始包含了0、1、2、3个文件符号。0是stdin,只读echo 123 >&0 报错系统无法写入指定的设备。 echo 123 >&4 报错重定向句柄 1 时,无法复制此句柄。
    •  echo <&1 ~ echo <&3 ,由于文件符号1~3内容为空,故,相当于执行了无参数的 echo ,输出ECHO 处于打开状态
    •  echo <&4 报错重定向句柄 0 时,无法复制此句柄。,相当于默认指定了标准输入(stdin)的文件符号 echo 0<&4 。
    •  mkfifo 没有测试成功——通过 mkfifo myfifo 建立后(,会在工作目录建立同名的快捷方式,属性中含如::c4:11b6备注),不知道如何使用(貌似直接按文件访问?但新建的文件名为myfifio.lnk,且不是全局有效,更换目录、工作文件夹后无法就地访问此文件)。(尝试了 cmd 4<&myfifo 报错此时不应有 4<&,尝试 cmd 4<myfifo 报错系统找不到指定的文件
    • 以上的问题在于没有新打开文件关联文件描述符。不如直接使用 > 或 >> 及 <或 <<写入读取文件。
    • windows缺少*nix的 exec 。
    • 尝试了Windows功能 - 适用于Linxu的Windows子系统(Windows Subsystem for Linux),需要额外(从应用市场)安装Lunix系统等等。
    • windows不支持process substitution
    • 结论,ffmpeg的stderr只能在stderr(2)或stdout(1)二选一。
      最终 os.execute"ffmpeg .. 2>&1 | tee log >&2" 
    • 参考
      cmd additional file descriptor - Google 搜索
      using exec in windows cmd - Google 搜索
      mkfifo windows - Google 搜索
  • 相关阅读:
    matlab练习程序(径向模糊1)
    matlab练习程序(摄像头获取数据)
    jpg转bmp(使用libjpeg)
    matlab练习程序(图像放大/缩小,双线性插值)
    一维最大子数组
    二分查找
    图像处理时用的卷积函数
    matlab练习程序(摄像头视频中截图)
    bmp24位彩色图像转8位灰度图像(纯C++)
    C#中值类型、引用类型 再次理解
  • 原文地址:https://www.cnblogs.com/RobertL/p/14286118.html
Copyright © 2020-2023  润新知