我正在尝试将文件名设置为批处理文件中的变量,并且没有运气。
作为一个简单的解释,我试图将文件命名为IPv4地址,例如192.168.1.15.bat
。然后,在运行文件时,会将该地址设置为var1
,以便在整个脚本的各个位置使用。
@echo off
set var1=%~n1
echo %var1%
pause
答案 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