2013-10-04 4 views
2

Я очень новичок в .bat-файлах! Но быстрый ученик.время .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% 

Это изменяет каталог и запускает моделирование, но я не могу проверить, что все после этого выполняется.

Я попытался сделать файл .bat, который открывает swashcmd.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 от swashcmd.bat или работает swashcmd.bat с .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

Пробовал вызова мой файл .bat из swashcmd.batcal с. EndTime не хранится. Расширение файла bat для вывода звездочки и времени окончания в файл .txt при сохранении времени начала и окончания работы.

+2

'getTimestamp.bat' является помощником пакетный файл для обработки и измерения всех видов времени и даты переменных и их можно найти здесь - http://www.dostips.com/forum/viewtopic .php? p = 27422 # p27422, и он может рассчитать прошедшее время различными способами. Если ваше волновое моделирование составляет порядка 5-10 секунд, то задержка в запуске пакетных файлов может быть проблемой. – foxidrive

+0

Если 'swashrun' - командный файл, вам нужно выполнить его с помощью команды' call', чтобы выполнение вернулось к 'swashcmd' и' set EndTime = ...'выполняется в конце концов. Кроме того, вы сохраняете оба раза, но никогда не показываете их (или так кажется). –

ответ

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 
+0

'swashcmd.bat' вызывается, но' starttime' и 'endtime' не сохраняются, а пауза не достигается. –

+0

Что-то в 'swashcmd.bat' является проблемой, если на экране нет ошибок. Является ли 'swashrun' пакетным файлом? Если это так, используйте 'call swashrun a11stw01' – foxidrive

+0

См. Мой отредактированный ответ – foxidrive

3

Использование

CALL swashcmd.bat 

В противном случае управление не возвращается к абоненту.

Смежные вопросы