2

我对 .bat 文件很陌生!但学得很快。

我是一名工科学生,正在使用波浪模拟模型。我需要计算计算时间,并试图通过StartTime=%time%在运行模拟之前设置一个变量来做到这一点,在模拟结束后我设置EndTime=%time%,我想用这个来计算计算时间。我通过打开一个 .bat 文件swashcmd.bat并将目录更改为包含我的输入文件的文件夹file_name.sws,然后使用命令来运行模型swashrun file_name.sws

我试图制作一个运行的 .bat 文件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?哪种方式(从 .bat 运行 .batswashcmd.batswashcmd.bat从 .bat 运行)更好?(以及为什么)^

更新 1

有电话

cd C:\Program Files\swash\
call swashcmd.bat

cd C:\Users\dk46739\Dropbox\Bachelor\SWASH\testcases\Compiled\a11stwav

调用后停止swashcmd.bat

更新 2

swashcmd.bat尝试使用.bat 调用我的 .bat 文件calEndTime不存储。保存开始和结束时间时,扩展 bat 文件以将星号和结束时间输出到 .txt 文件。

4

2 回答 2

3

利用

CALL swashcmd.bat

否则,控制权不会返回给调用者。

于 2013-10-04T10:10:14.897 回答
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
于 2013-10-11T10:32:21.280 回答