我正在尝试创建批处理文件,其中应该包含以下命令:
cd "c:\Program files\NuSMV\2.5.2\bin\"
NuSMV -int short.smv
go
pick_state -r
print_current_state -v
simulate -r 3
show_traces -t
show_traces -v我遇到的问题是这样的:在执行第二行之后,NuSMV.exe在cmd中运行,其余的命令直到我退出NuSMV才会执行,但我想在NuSMV中运行命令3-8。我需要更改.bat文件中的哪些内容。谢谢。
发布于 2011-04-15 11:44:18
将命令3-8放入文本文件中(例如cmds.txt),然后运行NuSMV,如下所示:
NuSMV -int short.smv -source cmds.txt来自手册(nusmv.pdf)第48页:
通过命令行选项
:system prompt> NUSMV -source cmd file
,也可以使NuSMV从文件中读取并执行一系列命令
发布于 2011-04-15 16:13:13
完成Vik answer后,您可以在相同的BAT文件中创建NUSMV命令文件
@echo off
pushd "c:\Program files\NuSMV\2.5.2\bin\"
echo go >"%TEMP%\cmds.txt"
echo pick_state -r >>"%TEMP%\cmds.txt"
echo print_current_state -v >>"%TEMP%\cmds.txt"
echo simulate -r 3 >>"%TEMP%\cmds.txt"
echo show_traces -t >>"%TEMP%\cmds.txt"
echo show_traces -v >>"%TEMP%\cmds.txt"
NuSMV -int short.smv -source "%TEMP%\cmds.txt"
del "%TEMP%\cmds.txt"
popd另外,我建议您不要将当前目录更改为NuSMV目录。编辑路径,或仅使用完整路径指定NuSMV。在这两种情况下,都应该从short.smv所在的当前目录调用BAT。C
@echo off
echo go >"%TEMP%\cmds.txt"
echo pick_state -r >>"%TEMP%\cmds.txt"
echo print_current_state -v >>"%TEMP%\cmds.txt"
echo simulate -r 3 >>"%TEMP%\cmds.txt"
echo show_traces -t >>"%TEMP%\cmds.txt"
echo show_traces -v >>"%TEMP%\cmds.txt"
"c:\Program files\NuSMV\2.5.2\bin\NuSMV" -int short.smv -source "%TEMP%\cmds.txt"
del "%TEMP%\cmds.txt"https://stackoverflow.com/questions/5670165
复制相似问题