我是.bat文件的新手!但是快速学习。
我是一名工科学生,正在使用波浪模拟模型。我需要计算时间,并且我试图通过在运行模拟之前设置变量StartTime=%time%
来做到这一点,并且在模拟结束后我设置EndTime=%time%
,并且我想要计算计算时间。我通过打开.bat文件swashcmd.bat
并使用输入文件file_name.sws
将目录更改为文件夹然后使用命令swashrun file_name.sws
来运行模型。
我尝试制作一个从swashcmd.bat
@echo off
cd %USERPROFILE%\Dropbox\Bachelor\SWASH\testcases\Compiled\a11stwav
set StartTime=%time%
swashrun a11stw01
echo Computation done
set EndTime=%time%
这会更改目录并运行模拟,但我无法验证之后是否执行了任何操作。
我尝试制作一个打开swashcmd.bat
的.bat文件,然后运行模拟
@echo off
cd C:\Program Files\swash\
swashcmd.bat
cd C:\Users\dk46739\Dropbox\Bachelor\SWASH\testcases\Compiled\a11stwav
这将启动swashcmd.bat
,但不会更改目录。
在swashcmd.bat
中更改任何内容都超出我的意义。是否可以在不更改swashcmd.bat
文件的情况下执行我想要的操作?哪种方式(从swashcmd.bat
运行.bat或从.bat运行swashcmd.bat
)更好? (以及为什么)
^
通过电话
cd C:\Program Files\swash\
call swashcmd.bat
cd C:\Users\dk46739\Dropbox\Bachelor\SWASH\testcases\Compiled\a11stwav
致电swashcmd.bat
尝试使用swashcmd.bat
从cal
调用我的.bat文件。未存储EndTime
。保存开始和结束时间时,将bat文件扩展为输出星形和结束时间为.txt文件。
答案 0 :(得分:3)
使用
CALL swashcmd.bat
否则,控制权不会返回给调用者。
答案 1 :(得分:1)
尝试此操作,查看屏幕上显示的内容以及是否已达到暂停命令:
@echo off
cd /d "C:\Program Files\swash\"
call swashcmd.bat
echo "%starttime%"
echo "%endtime%"
echo pause 2
pause
cd /d "C:\Users\dk46739\Dropbox\Bachelor\SWASH\testcases\Compiled\a11stwav"
尝试这个 - 并告诉我们屏幕上是否有任何错误消息,以及是否达到了暂停命令:
@echo off
cd /d "%USERPROFILE%\Dropbox\Bachelor\SWASH\testcases\Compiled\a11stwav"
set StartTime=%time%
call swashrun a11stw01
echo Computation done
set EndTime=%time%
echo pause 1
pause