将文件名设置为变量

时间:2019-03-02 08:53:27

标签: batch-file

我正在尝试将文件名设置为批处理文件中的变量,并且没有运气。

作为一个简单的解释,我试图将文件命名为IPv4地址,例如192.168.1.15.bat。然后,在运行文件时,会将该地址设置为var1,以便在整个脚本的各个位置使用。

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

2 个答案:

答案 0 :(得分:0)

您要寻找的是%~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 /?以获得更多详细信息。

答案 1 :(得分:0)

尝试以下

@echo off
echo %~n0
pause