2

私は.batファイルが初めてです!しかし、素早い学習者。

私は工学部の学生で、波のシミュレーション モデルを扱っています。計算時間を計る必要がありStartTime=%time%、シミュレーションを実行する直前に変数を設定してこれを実行しようとしています。シミュレーションが終了した後、 を設定EndTime=%time%しました。これで計算時間を計算したいと思います。.bat ファイルを開き、swashcmd.batディレクトリを入力ファイルのあるフォルダーに変更してからfile_name.sws、コマンド.bat を使用してモデルを実行します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.batswashcmd.batファイルを変更せずにやりたいことをすることは可能ですか? そして、どちらの方法 (.bat から実行するswashcmd.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

から .bat ファイルを呼び出してみswashcmd.batましたcalEndTime保存されません。開始時刻と終了時刻を保存するときに、スターと終了時刻を.txtファイルに出力するようにbatファイルを展開すると機能します。

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 に答える