Если я правильно понял ваш вопрос, я думаю, вы хотите просто взять строку, отделить последнее имя каталога и затем использовать его в качестве переменной при настройке вашего zip-файла:
@echo off
set "mypath=C:\TEMP\zip\source\JEAR_20190115"
if "%mypath:~-1%"=="\" set "mypath=%mypath:~0,-1%"
for %%i in (%mypath%) do set "last=%%~nxi"
CScript zip.vbs %mypath% C:\TEMP\zip\target\%last%.zip
Пожалуйста, примитеобратите внимание, если вы измените свой путь, чтобы иметь обратную косую черту на вашем пути, то есть:
C:\TEMP\zip\source\JEAR_20190115\
Вы могли бы сначала избавиться от этого, но мы могли бы просто проверить это с помощью:
if "%mypath:~-1%"=="\" set "mypath=%mypath:~0,-1%"
Таким образом, полный сценарий будет выглядеть так:
@echo off
set "mypath=C:\TEMP\zip\source\JEAR_20190115"
if "%mypath:~-1%"=="\" set "mypath=%mypath:~0,-1%"
for %%i in (%mypath%) do set "last=%%~nxi"
CScript zip.vbs %mypath% C:\TEMP\zip\target\%last%.zip
, если, однако, если вы хотите присвоить ему имя файла в каталоге, вам необходимо убедиться, что все имена файлов в папке всето же самое, поскольку мы сможем установить его только с одним именем, которое будет последним файлом в списке, мы можем проверить каждое имя, но я предполагаю, что у вас есть файлы с одинаковым именем, но с разными расширениями:
@echo off
set "mypath=C:\TEMP\zip\source\JEAR_20190115"
for /f %%i in ('dir /b /a-d "%mypath%"') do set "last=%%~ni"
CScript zip.vbs %mypath% C:\TEMP\zip\target\%last%.zip