从Windows批处理变量中获取子字符串
发布时间:2020-12-14 04:00:11 所属栏目:Windows 来源:网络整理
导读:在批处理文件中,我有一个包含IP的变量.仅举例如: SET ip = 170.150.120.10 我想定义另一个变量,将最后一个八位字节替换为1,在示例中为170.150.120.1. IP可以改变(它是动态定义的),长度不同,因此捕获固定长度的子串并连接它将无法在任何时候工作(在示例中它
在批处理文件中,我有一个包含IP的变量.仅举例如:
SET ip = 170.150.120.10 我想定义另一个变量,将最后一个八位字节替换为1,在示例中为170.150.120.1. IP可以改变(它是动态定义的),长度不同,因此捕获固定长度的子串并连接它将无法在任何时候工作(在示例中它将是SET baseIP =%ip:~0.9%.1) . 如何解决这项任务? 解决方法
maytham-????λ??是一个简单解决方案的关键组成部分 – FOR / F.但是这个解决方案有很多复杂性,似乎与这个问题无关.
答案可以很简单: @echo off set "ip=170.150.120.10" for /f "tokens=1-3 delims=." %%A in ("%ip%") do set "new_ip=%%A.%%B.%%C.1" echo new ip=%new_ip% 注 – 您在问题的SET语句中包含=之前和之后的空格.这是个坏主意,因为所有空间都很重要.您有一个以空格结尾的变量名,以及以空格开头的值.我从答案中删除了不需要的空格 另外,我将作业括在引号内.只要第一个引号位于变量名称之前,就会忽略最后一个引号之后的所有字符.这可以防止您的价值中出现无意的尾随空格. 编辑2017-09-04 for %%A in (%ip%) do set "new_ip=%%~nA.1" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- wpf – 在Windows桌面和Windows Store应用程序之间共享字符
- 在Windows命令中处理扩展字符?
- 如何在东芝笔记本电脑和Windows 7上使用python进行文本到语
- 程序集 – Windows上的ARM模拟器
- windows-server-2008 – Windows事件日志转发
- 【旧文章搬运】Windows内核常见数据结构(驱动相关)
- filter – 使用Microsoft DTV-DVD视频解码器播放H264视频
- winforms – 如何用DevExpress取代已经消失的60个免费控件?
- win7修改文件名或删除文件不自动刷新问题解决
- windows – wbadmin系统状态备份失败