我试图从批处理文件启动exe(jtag控制台),并将文件中的数据提供给它。这适用于:
nios2-terminal.exe < test.txt
但是此文件中有空字符 (0x00)。空字符后面的字符不会传递给 exe,只是传递更多的零,可能是因为以 null 结尾的字符串。
所以我将文件分成 4 个文件,其中只有最后一个字符是空的,并一个接一个地输入它们。问题是我必须杀死进程,因为他们不会自己做。我需要使用启动命令。
但是我不知道如何将文件提供给 exe 而不是 start 命令。这可能是第一个:
start /d %path% nios2-terminal.exe < test0.txt
ping 1.1.1.1 -n 1 -w 1 > nul REM// 1ms delay, tried more, too
taskkill /f /im nios2-terminal.exe
start /d %path% nios2-terminal.exe < test1.txt ...
由于 nios2 终端.exe 将所有字符从 stdIn 放到我的 FPGA 的 jtag 中,我打算使用start /b /d %path% nios2-terminal.exe
然后用type testx.txt
读取所有文件。
当我手动执行此操作时,我必须先按 Return 键,然后我键入的第一个字符放在 jtag 上。在脚本中,我无法正常工作。
是否有任何其他可能性,例如将输入发送到正在运行的 nios2 终端实例.exe或者 JTAG 终端 nios2 终端.exe的替代方案,它不介意空字符输入。
我希望我没有错过所有准备好涵盖此问题的任何威胁,但我没有发现。
多谢
编辑:
标题说 stdin 和 stdout 重定向,因为我也想将程序的输出重定向到文件。但我认为一旦我知道如何使用 start 命令重定向输入,我也可以处理这个问题。
试试这个:
NIOS2 端子.exe>测试.txt
如果要追加,请使用此cmd:
NIOS2 端子.exe>>测试.txt