【发布时间】:2013-10-04 08:40:20
【问题描述】:
我对 .bat 文件非常陌生!但学得很快。
我是一名工科学生,正在研究波浪模拟模型。我需要计算计算时间,我试图通过在运行模拟之前设置一个变量StartTime=%time% 来做到这一点,在模拟结束后我设置EndTime=%time%,我想用这个来计算计算时间.我通过打开一个 .bat 文件 swashcmd.bat 并将目录更改为包含我的输入文件 file_name.sws 的文件夹,然后使用命令 swashrun file_name.sws 来运行模型。
我尝试制作一个我从swashcmd.bat 运行的 .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)更好? (以及为什么)
^
更新 1
随叫随到
cd C:\Program Files\swash\
call swashcmd.bat
cd C:\Users\dk46739\Dropbox\Bachelor\SWASH\testcases\Compiled\a11stwav
调用swashcmd.bat后停止
更新 2
尝试使用cal 从swashcmd.bat 调用我的.bat 文件。 EndTime 未存储。保存开始和结束时间时,扩展 bat 文件以将星号和结束时间输出到 .txt 文件。
【问题讨论】:
-
getTimestamp.bat是一个辅助批处理文件,用于操作和测量各种时间和日期变量,可以在这里找到 - dostips.com/forum/viewtopic.php?p=27422#p27422,它可以以各种方式计算经过的时间。如果您的波形模拟大约需要 5 到 10 秒,那么运行批处理文件的延迟可能是个问题。 -
如果
swashrun也是一个批处理文件,你需要用call命令执行它,以便执行返回到swashcmd,最终执行set EndTime=...。此外,您同时存储了两次,但从不显示它们(或者看起来如此)。
标签: windows batch-file time