批量爆炸数字可能吗?

时间:2016-01-27 14:23:17

标签: batch-file

我正在尝试制作一个批处理来获取IP地址并在该IP地址上重新启动命令行。 用户需要输入4位数的服务器。像4502 比批次需要获得该服务器的IP,如 - > XXX.X45.X02.XXX

这就是我的目标:

@ECHO Off
SET VERSIE= Versie-1.0

:MENU1
TITLE tool - Menu
CLS
ECHO.
ECHO ####################################
ECHO # 1. Command  starten              #
ECHO ####################################
ECHO # 9. Quit                          #
ECHO ####################################
ECHO ##          %versie%          ##

ECHO.

set INPUT=
Set /P INPUT=Make a choise: 

if "%input%" =="1" goto CMD_1
if "%input%" =="9" goto QUIT

:CMD_1
TITLE tool - Command
CLS
set /p fourdigits=Give 4 digits
call :getip %fourdigits%
goto MENU1

:getip
if "%1"=="" :startcommand
echo %1 
shift
goto :getip

:startcommand
psexec -i \\XXX.X%getip1%%getip2%.X%getip3%%getip4%.XXX  -u username -p     password /accepteula cmd
goto MENU1

:QUIT
exit

我对这种语言颇为陌生,希望有人可以帮助我。 (我希望我有点可以理解,我想做什么:)) 任何帮助都有助于我做错的好点:)

先谢谢。

1 个答案:

答案 0 :(得分:1)

set /?向您展示了如何从变量中提取子字符串(帮助使用%PATH%作为示例,但它适用于每个变量)

set fourdigits=4502
set firstTwo=%fourdigits:~0,2%
set secondTwo=%fourdigits:~2,2%
set lastTwo=%fourdigits:~-2%

echo psexec -i \\XXX.X%firstTwo%.X%lastTwo%.XXX -u username -p password /accepteula cmd

secondTwolastTwo是多余的;您只需要其中一个。只是想向您展示不同的选项。)