Windows 批处理文件不';t在执行其他.exe之后完全执行

Windows 批处理文件不';t在执行其他.exe之后完全执行,windows,batch-file,nusmv,Windows,Batch File,Nusmv,我正在尝试创建批处理文件,该文件应包含以下命令: 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。我需要在.ba

我正在尝试创建批处理文件,该文件应包含以下命令:

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文件中更改什么。谢谢。

将命令3-8放入文本文件(如cmds.txt),然后按如下方式运行NuSMV:

NuSMV -int short.smv -source cmds.txt
从手册()第48页:

也可以使NUSMV读取 并执行一系列命令 从文件中,通过命令行 选项-来源: 系统提示>NuSMV-源cmd文件


将命令3-8放入文本文件(例如cmds.txt),然后按如下方式运行NuSMV:

NuSMV -int short.smv -source cmds.txt
从手册()第48页:

也可以使NUSMV读取 并执行一系列命令 从文件中,通过命令行 选项-来源: 系统提示>NuSMV-源cmd文件


完成Vik应答后,您可以在同一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

@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"

完成Vik应答后,您可以在同一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

@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"

+1,要完成它,您可以引用
“%TEMP\cmds.txt”
以确保TEMP路径中有空格。为了美观,您可以将echo的
(echo go&echo pich\u state-r&echo print\u current\u state-v)>%TEMP%\cmds.txt“
+1组合在一起,为了完成它,您可以引用
%TEMP\cmds.txt”
以在临时路径中使用空格进行保护。为了美观,您可以将echo的类似
(echo go&echo pich\u state-r&echo print\u current\u state-v)>%TEMP%\cmds.txt“