批处理文件,用户输入打开网址

时间:2018-05-06 00:20:39

标签: batch-file variables input

这里全新,绿色编码。 我有一个新的工作任务,需要一个特定的网址只有最后4个nubbers /字母更改。 如何使用批处理文件让用户输入打开特定的URL,并将所述输入插入到最后4个。

示例http :: // 1234 :: 56:ab78:然后是用户输入。?

我有访问控制的网关,我必须像路由器一样登录。只是我可以有200个,只有最后四个数字改变。所以我试图简化必须输入一个长的mac地址到ipv6到我的Windows网页,以帮助我在该领域的人。例如,必须在url- http://[fe80::217:7:aff:fe0f:0005]中输入。但是说下一个网关是0006,当他们在批次提示中键入4个数字时,我需要将它放入该位置,然后继续使用url并输入。谢谢你的时间。提前谢谢,我一直在寻找,直到我弄清楚这一点。

2 个答案:

答案 0 :(得分:0)

您的意思是http://www.url.com?qn= [user inputted number]吗?

你可以这样做:

@echo off
rem not really necessary for this part
title open our company's website
color de
mode con: cols=90 lines=25
rem below is necessary
goto t

:t
set str=error
set /p str=Please enter four characters: 
set len=0
goto sl

:sl
call set this=%%str:~%len%%%
if not "%this%" == "" (set /a len+=1
goto :sl)
if not "%len%" == "4" (echo Sorry but please input four characters to open a website. Press any key to type in again.
pause >nul
cls
goto t)
start http://www.url.com?qn=%str%
echo URL opened, press any key to leave.
pause >nul
exit

特别感谢Tutorial Spot 带来的灵感。 遗憾的是,此处的代码无法阻止用户键入“,&,|等字符,这可能会导致批处理脚本错误,因为我无法确定您的公司是否包含包含以下字符的链接。抱歉,造成的不便。

很抱歉,如果答案不符合您的要求。我想在评论中要求您提供更多信息,但系统阻止了我,请回复此答复的评论,否则我无法回复......

答案 1 :(得分:0)

@echo off
setlocal

set /p "prefix=IP6 prefix: " || exit /b 1
set "suffix=0001"
set /p "suffix=IP6 suffix: "
if not "%prefix:~-1%" == ":" set "prefix=%prefix%:"
set "count=1"
set /p "count=Repetition count: "
set /a "limit=0x%suffix%+count-1"

:loop
echo.
echo start %prefix%%suffix%
call :hex_increment suffix "%suffix%"
if 0x%suffix% gtr %limit% (
    echo Repetition count reached
    exit /b 0
)
set "reply=y"
set /p "reply=Continue? [y|n]: "
if /i "%reply%" == "y" goto :loop
exit /b

:hex_increment
setlocal
set /a "_dec=0x%~2+1"
cmd /c exit /b %_dec%
set "_hex=%=ExitCode:~4%"
endlocal & set "%~1=%_hex%"
exit /b

IP6前缀http://fe80::217:7:aff:fe0f IP6后缀0007

IP6前缀是必需的,所以只按返回 将退出脚本。

IP6后缀是可选的,默认为0001

如果遗失,则跟踪:将附加到 IP6前缀

重复次数是要输出的网址的200限制。

重复次数是可选的,默认为1

:loop标签回显您要使用的命令 与第一个网址。然后调用标签:hex_increment%suffix%的十六进制数增加+1 更新%suffix%

提示将要求继续并重复循环,否则退出。 默认回复为y

示例输出:

IP6 prefix: http://fe80::217:7:aff:fe0f
IP6 suffix: 0007
Repetition count: 5

start http://fe80::217:7:aff:fe0f:0007
Continue? [y|n]:

start http://fe80::217:7:aff:fe0f:0008
Continue? [y|n]:

start http://fe80::217:7:aff:fe0f:0009
Continue? [y|n]:

start http://fe80::217:7:aff:fe0f:000A
Continue? [y|n]:

start http://fe80::217:7:aff:fe0f:000B
Repetition count reached

如果start http://...是所需命令,那么就是 删除要使用的前导echo关键字,否则更改 你喜欢什么。