首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用批量拆分ip和port的ip:port格式

使用批量拆分ip和port的ip:port格式
EN

Stack Overflow用户
提问于 2016-09-17 04:55:58
回答 1查看 381关注 0票数 2

对于我目前正在工作的程序,我正在获取一个值,这是一个ip :端口格式的代理,我需要能够将ip和端口划分为不同的变量,以便需要ip和端口分离的不同程序能够工作。该程序基本上是一个自动的ip/代理切换器为我的世界,只是在游戏的原因,我有所有的代码工作,除了实际改变代理的一部分。我没有收到任何错误消息,只是我实际上不知道要写什么代码。无论如何,这是我的代码。

代码语言:javascript
复制
@echo off
color b
title minecraft proxy switcher
set nLine=0
echo input full path to text file containing proxies
set /P "filepath=>"
echo end >> %filepath%
:top
cls
set /A nLine=%nLine%+1
echo now at proxy number %nLine%
CALL :ReadNthLine "%filepath%" %nLine%
PAUSE >NUL & goto:top
GOTO :EOF
::***************************************************************************************
:ReadNthLine File nLine
FOR /F %%A IN ('^<"%~1" FIND /C /V ""') DO IF %2 GTR %%A (ECHO Error: No such line %2. 1>&2 & EXIT /b 1)
FOR /F "tokens=1* delims=]" %%A IN ('^<"%~1" FIND /N /V "" ^| FINDSTR /B /C:"[%2]"') DO set http_proxy=%%B
goto finish
::***************************************************************************************
:finish
if %http_proxy%==end (
                cls
                echo all proxies have been used
                echo will return to top of list in 5 seconds
                TIMEOUT /T 5 /NOBREAK
                set nLine=0
                goto top
            )   
java -DsocksProxyHost=ip -DsocksProxyPort=port -Xmx800m -jar MinecraftLauncher.exe
echo New ip is %http_proxy%
echo waiting for user input
echo press any key for a new ip
pause
goto top

任何帮助都是非常感谢的,如果你注意到我的代码中有其他写得不好或不正确的东西,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-17 16:28:42

使用适当的标记和分隔符,使用for拆分字符串:

代码语言:javascript
复制
set "line=192.168.1.1:8080"
for /f "tokens=1,2 delims=:" %%a in ("%line%") do (
  set server=%%a
  set port=%%b
)
echo Server %server% Port %port%

下面是一个基本的代码框架,它一行接一行地处理文件(您的方式是有效的,但这样做更容易):

代码语言:javascript
复制
@echo off
set /p "filepath=File: "

:top
set n=0
for /f "tokens=1,2 delims=:" %%a in (%filepath%) do call :process %%a %%b
timeout 5
goto :top

:process
echo trying %n%
set /a n+=1
echo   host: %1
echo   port: %2
pause
goto :eof  
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39539955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档