@echo off
setlocal enabledelayedexpansion
set "dashboardPath=C:\Jmeter\Dashboard"
set "folderpath=C:\Jmeter\Tests"
cd /d "%folderpath%"
for %%A in (*.jtl) do (
if not exist "%dashboardPath%\%%~nA" mkdir "%dashboardPath%\%%~nA"
set "fname=%%~nA"
pushd "C:\Jmeter1\apache-jmeter-5.0\bin" && (
jmeter -g "%folderpath%\%%~nxA" -o "%dashboardPath%\!fname!"
popd
)
)
pause
Пример 1.
Использует pushd
и popd
, чтобы изменить каталог для запуска jmeter
.Использует отложенное расширение для fname
.Эти команды, возможно, не нужны, поэтому будет отображаться альтернатива.
@echo off
setlocal
set "dashboardPath=C:\Jmeter\Dashboard"
set "folderpath=C:\Jmeter\Tests"
set "path=%path%;C:\Jmeter1\apache-jmeter-5.0\bin"
cd /d "%folderpath%"
for %%A in (*.jtl) do (
if not exist "%dashboardPath%\%%~nA" mkdir "%dashboardPath%\%%~nA"
jmeter -g "%folderpath%\%%~nxA" -o "%dashboardPath%\%%~nA"
)
pause
Пример 2.
Добавляет jmeter
путь к переменной path
поэтому менять каталог не нужно.Расширение без задержки, поскольку %%~nA
используется вместо установки на fname
.
@echo off
setlocal
set "hh=%time:~,2%"
set "hh=%hh: =0%"
set "dateseed=%date:~10,4%%date:~4,2%%date:~7,2%_%hh%%time:~3,2%%time:~6,2%"
set "dashboardPath=C:\Jmeter\Dashboard"
set "folderpath=C:\Jmeter\Tests"
set "path=%path%;C:\Jmeter1\apache-jmeter-5.0\bin"
cd /d "%folderpath%"
for %%A in (*.jtl) do (
if not exist "%dashboardPath%\%dateseed%\%%~nA" mkdir "%dashboardPath%\%dateseed%\%%~nA"
jmeter -g "%folderpath%\%%~nxA" -o "%dashboardPath%\%dateseed%\%%~nA"
)
pause
Пример 3.
Как и 2-й код, хотя используетсяdateseed
концепция.Время может начинаться с пробела, если час представляет собой одну цифру, поэтому используйте подстановку переменной %hh: =0%
, которая заменяет любой пробел на ноль.
Не совсем точно, что соответствует вашим требованиям, поэтому предложили несколько примеров.