繁体   English   中英

如何从 Quartus 中的 tcl 文件运行批处理文件?

[英]How to run a batch file from a tcl-file inside Quartus?

我想从 Quartus 运行一个 tcl-File,它运行一个批处理文件,而批处理文件读取用户输入。

第一个问题是我根本没有看到可以看到用户输入的 cmd 行。

tcl 文件像这样运行 .bat 文件:

exec cmd \/c D:/test/run.bat

我该怎么做?

我假设您不是从非控制台模式应用程序运行它。 如果是,控制台会自动弹出。 关于这一点以及如何防止它有很多问题,但您似乎有相反的问题。

默认情况下,Tcl 运行子进程,以便它们连接回 Tcl 进程,以便允许它提供输入流并读取输出流和错误流。 这是最常见的情况。 但是,在您的情况下,您希望将这些定向到当前的输入/输出流,以便用户可以看到它们。 这不是太难,但需要更多的代码:

# You need to use [file nativename] with cmd
# The double quotes are for highlighting purposes here on Stack Overflow only
exec cmd /c [file nativename "D:/test/run.bat"] <@stdin >@stdout 2>@stderr

关键位(如果我的诊断是正确的)是连接通道的<@stdin >@stdout 2>@stderr

也有可能是file nativename实际上在做重要的事情。 传递给 Windows 上的非 Tcl 进程的文件名通常需要以本机形式呈现(主要是用\\而不是/ )。 而且您不需要将\\放在/前面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM