Установка имени файла в качестве переменной - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь установить имя файла как переменную в пакетном файле, но мне не везет.

В качестве простого объяснения я пытался назвать свой файл как IPv4-адрес, например, 192.168.1.15.bat.Затем при запуске файла он установит этот адрес как var1, который будет использоваться в различных местах в скрипте.

@echo off
set var1=%~n1
echo %var1%
pause

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Попробуйте ниже

@echo off
echo %~n0
pause
0 голосов
/ 02 марта 2019

То, что вы ищете, это %~n0, %0 - это сам пакетный файл:

@echo off
set var1=%~n0
echo %var1%
pause

%1 и после - для других параметров пакетного файла, например,
tt.cmd:

@echo off
::add quotes is recommended, to avoid error when there're special characters exist.
set "var0=%~n0"
set "var1=%~n1"
set "var2=%~n2"
echo %var0%
echo %var1%
echo %var2%

Запустить по приглашению:

>tt.cmd what ever
tt
what
ever

или call из другого пакетного файла, например cc.cmd:

@call tt.cmd que sera sera
@pause >nul

Вывод:

tt
que
sera

Вы можете проверить call /? для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...