gpt4 book ai didi

c# - 使用 c# 运行 .cmd 文件时遇到问题

转载 作者:行者123 更新时间:2023-12-04 23:04:31 24 4
gpt4 key购买 nike

出于某种原因,我似乎无法使用 c# 启动和运行 .cmd 文件。 cmd文件的一行示例是:

"C:\Windows\system32\ffmpeg64.exe" -v verbose -y -i "S:\TEMP\A.ts" -c:v copy -c:a copy -ss 00:00:00.000 -t 2 "S:\TEMP\A_SHORT.ts"

我尝试了几种不同的方法从 C# 中启动此文件,例如(其中 curDirectory 是例如“S:\TEMP”)
Process p = Process.Start(curDirectory + "\\ffmpeg.cmd");

我也试过
string path = curDirectory + "\\ffmpeg.cmd";
Process p = Process.Start("cmd.exe", @"/c " + path); //I've also tried /k

但是发生的情况是 cmd 提示符会出现并说“C:\Windows\System32\ffmpeg64.exe”无法识别......”即使文件在那里。我做错了什么?

最佳答案

如果您的系统运行的是 Windows 6.1 内核或更高版本,则 System32 实际上由基于您正在运行的应用程序的其他目录组成(取决于它是 32 位还是 64 位应用程序)。

我假设 ffmpeg64.exe是 64 位应用程序,当您手动执行 .cmd 文件时,它应该默认为 64 位命令提示符 - 还要确保您的应用程序针对“x64”或“任何 CPU”。或者,您可以将 32 位版本的 ffmpeg 放在 WoW64 目录中。

另外,我知道您已在评论中声明您不想阅读 .cmd 文件并对其进行修改,但您可以编写 ProcessStartInfoEnvironment.SystemDirectory而不是硬编码的路径。

作为最后一个选项,您可以将 ffmpeg exe 放置在静态的位置(正如您在评论中所述,在 c:\ 中),或者只是在应用程序的工作目录中。

关于c# - 使用 c# 运行 .cmd 文件时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13438238/

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