找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 68407|回复: 16

[文本处理] 批处理如何实现每次运行对文本中的特定数字自动加1/加一/自增一/自增1

[复制链接]
发表于 2017-3-21 23:06:17 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2017-3-22 00:10 编辑

求救大神,如何做个批处理可以每次运行对给定的数字自动加1? 10进位的。

原版的文本就一行,比如11:22:AB:44:55:00

我需要运行1次批处理后,改文本变为11:22:AB:44:55:01

2次后变为11:22:AB:44:55:02




9次后变为11:22:AB:44:55:09
10次后变为11:22:AB:44:55:10
11次后变为11:22:AB:44:55:11

我是新手,弄了半天不会, 麻烦大神宝贵的时间了。
 楼主| 发表于 2017-3-21 23:07:50 | 显示全部楼层
@echo off


set /p p=<mac.txt
echo %p%

set /a p=p+1
set "pp=%p%"
echo %pp% >mac.txt
if %p% lss 10   set "pp=0%p%"


这个好像不对。
发表于 2017-3-22 01:55:23 | 显示全部楼层
MAC地址应该是十6进制
 楼主| 发表于 2017-3-22 13:56:35 | 显示全部楼层
我只是要10进制就行。麻烦你了
 楼主| 发表于 2017-3-22 13:57:08 | 显示全部楼层
16进制的代码有了
发表于 2017-3-22 14:14:06 | 显示全部楼层
回复 5# hzlawh


    请把16进制的代码发出来,可以帮你改成10进制的。
 楼主| 发表于 2017-3-22 14:23:41 | 显示全部楼层
刚才上面发的是10进制的,但是进位有点错误。 在哪个基础上修改一下就很快。
 楼主| 发表于 2017-3-22 14:25:55 | 显示全部楼层
mac.txt里面 需要放置一个初始值。然后每次运行会自动加1的。 比如:11:22:33:AA:00:01
初始值。 运行第一次就变为11:22:33:AA:00:02了  运行第2次 mac.txt .就变为11:22:33:AA:00:03了。
您试试。
发表于 2017-3-22 14:52:06 | 显示全部楼层
回复 7# hzlawh


一点也不快啊,那个代码根本就是错误的。

set /p p=<mac.txt
p这个变量取到的值是一个字符串11:22:33:AA:00:01

set /a p=p+1 凭啥加1就能得到你想要的数字2?
 楼主| 发表于 2017-3-22 15:01:30 | 显示全部楼层
说错了 初始值是单个数字。
 楼主| 发表于 2017-3-22 15:05:59 | 显示全部楼层
本帖最后由 pcl_test 于 2017-3-22 20:43 编辑

http://www.bathome.net/redirect. ... 1876&ptid=42070

这个SN会自动16 进制进位。 我想改为10进制。  这里的MAC是根据SN换算来的。 我想改为按照我提供的初始值来的,每次进位1个数字,10进位。 供参考。 以上代码为aa77dd@163.com 大侠提供。
供您参考。

评分

参与人数 1PB -4 收起 理由
pcl_test -4 引用代码直接发相应链接,勿重复贴码

查看全部评分

 楼主| 发表于 2017-3-22 15:07:24 | 显示全部楼层
本帖最后由 hzlawh 于 2017-3-22 15:09 编辑

SN 也按照初始值来进位。每次进1位。要求10进制, 这里有2个初始文本文件,分别是sn.txt 和mac.txt 都赋值了一个初始值。
 楼主| 发表于 2017-3-22 15:11:13 | 显示全部楼层
另外 如果MAC 我要每次加8 或者加10 的话(就是10进制,但是每运行一次加数值8或者13 怎么处理?)

比如初始是11:22:33:AA:00:01  运行一次后得到 11:22:33:AA:00:09
 楼主| 发表于 2017-3-22 17:55:01 | 显示全部楼层
没有声音了
发表于 2017-3-22 18:09:38 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "tokens=1-6 delims=:" %%a in ('type "mac.txt"') do (
  4.     set /a n=1%%f+1
  5.     echo %%a:%%b:%%c:%%d:%%e:!n:~-2!
  6. ))>"mac.txt.new"
  7. move /y "mac.txt.new" "mac.txt" > nul
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:49 , Processed in 0.021460 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表