我很新的.bat文件!但一个快速学习者。时间.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%
这改变了目录,并运行模拟运行.bat文件,但我不能确认任何事情之后进行。
我试图创建一个打开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
)更好? (为什么) ^
Opdate 1
使用呼叫
cd C:\Program Files\swash\
call swashcmd.bat
cd C:\Users\dk46739\Dropbox\Bachelor\SWASH\testcases\Compiled\a11stwav
停止呼叫swashcmd.bat
Opdate 2
打过电话从swashcmd.bat
我.bat文件与cal
后。没有存储EndTime
。在保存开始和结束时间时,扩展bat文件以将星号和结束时间输出到.txt文件。
'getTimestamp.bat'是一个辅助批处理文件来操作和测量各种时间和日期变量,并可以在这里找到 - http://www.dostips.com/forum/viewtopic .php?p = 27422#p27422它可以以各种方式计算流逝的时间。如果你的波浪模拟大约在5到10秒内,那么运行批处理文件的延迟就成了一个问题。 – foxidrive
如果'swashrun'也是一个批处理文件,你需要使用'call'命令执行它,以便执行返回到'swashcmd'和'set EndTime = ...'最终被执行。此外,您存储两次,但从来没有显示它们(或者看起来是这样)。 –