Используйте команду dir
, чтобы получить фактическое имя файла, разобрать его выход на for /F
петли, чтобы получить имя чистого файла с расширением отщепляется, а затем использовать замену подстроки, чтобы получить все после (первая) подчеркивает _
:
rem Let `dir` get the actual file name, parse its output by `for /F`:
for /F "eol=| delims=" %%F in ('
dir /B /A:-D "C:\data\dbversion_*.txt"
') do (
set "NAME=%%~nF"
)
rem Do substring replacement:
set "NAME=%NAME:*_=%"
rem Use variable `%NAME%` here:
echo "%NAME%"
простой стандартный for
цикл достигает того же результата либо:
rem Let `for` get the actual file name:
for %%F in ("C:\data\dbversion_*.txt") do (
set "NAME=%%~nF"
)
rem Do substring replacement:
set "NAME=%NAME:*_=%"
rem Use variable `%NAME%` here:
echo "%NAME%"
Он работает. Спасибо. – user1523087