我需要在我的vlan中平多个ip地址。
如何将2-4位变量解析为xx.xx?
If it is 4 digits(1111), it needs to be redefined as 11.11
If it is 3 digits(222), it needs to be 02.22
If it is 2 digits(77), it needs to be 00.77我该怎么做?
我试过数弦,但在iy考试中不幸地失败了。
SET /P _inputname= Enter Your Input Number(2-4 Digits):
START cmd /k ping 10.%_inputname%.55 /t
START cmd /k ping 10.%_inputname%.66 /t
START cmd /k ping 10.%_inputname%.77 /t发布于 2019-05-24 18:55:20
用零准备这个数字,从第四位到第二位,打印一个点和最后两个位置。
:: Q:\Test\2019\05\24\SO_56298026.cmd
@Echo off
for %%A in (1111,222,77) do call :sub %%A
SET /P _inputname= Enter Your Input Number(2-4 Digits):
Call :sub %_inputname%
goto :Eof
:sub
set var=0000%1
Echo %Var:~-4,2%.%Var:~-2%样本输出:
> Q:\Test\2019\05\24\SO_56298026.cmd
11.11
02.22
00.77
Enter Your Input Number(2-4 Digits):33
00.33发布于 2019-05-25 12:41:24
这是另一种测试字符串长度的方法,但是这也不允许输入超过4个字符。
@echo off
setlocal EnableDelayedExpansion & set 4max=
:begin
set /p "str=Enter 2-4 digits: "
set "4max=%str:~4,1%
if defined 4max cls & echo you entered to many characters & goto begin
for /l %%i in (0,1,10) do if not "%str%"=="!str:~0,%%i!" (
set /a ln+=1
) else goto :done
:done
if %ln% equ 4 set str=%str:~0,2%.%str:~2,2%
if %ln% equ 3 set str=0%str:~0,1%.%str:~1,2%
if %ln% equ 2 set str=00.%str%
echo(%str%https://stackoverflow.com/questions/56298026
复制相似问题