- echo 是什么?命令或位于MinGW、cygwin的程序(echo.exe)?(无Windows\System32\echo.exe、Windows\SysWow64\echo.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 建立后(,会在工作目录建立同名的快捷方式,属性中含如:\0: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 搜索
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?