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

[文本处理] 云更新无盘系统怎么实现农行微信程序修改INI文件里的ID 想做个批处理

[复制链接]
发表于 2021-2-25 13:45:29 | 显示全部楼层 |阅读模式
款台号
COUNTER_NO=12863768
STRUCT_TYPE=01
RESP_ENCRYPTPAN=1
LIST_COUNT=20
SALELIST=1
SILENCERUN=0
LOGINLIST=0
VOIDLIST=1
PRINTLIST=1
REFUNDLIST=1
UNIONPAYFLAG=0
修改里面的这个12863768,我这里一共10台机子每个机子的号都不一样 。大家帮帮忙  谢谢大哥们了
mis.ini这个文件在D盘下面
发表于 2021-2-25 14:09:23 | 显示全部楼层
回复 1# jld95810


12863768修改成什么?
另外9台机器的这个数字分别修改成什么?
发表于 2021-2-25 18:02:22 | 显示全部楼层
使用前备份原文件及测试!
  1. set id=87654321
  2. sed -i "s/\(COUNTER_NO=\).*$/\1%id%/" "d:\mis.ini"
复制代码
本论坛下载三方工具sed.exe
 楼主| 发表于 2021-2-26 21:35:37 | 显示全部楼层
12863768,下个机子就是12863767或者12863766农行一共给了10个号,前面12863是不变的
 楼主| 发表于 2021-2-26 21:37:02 | 显示全部楼层
这10号都是固定的
 楼主| 发表于 2021-2-26 21:42:57 | 显示全部楼层
大哥能写个完整的,我不太会
发表于 2021-2-26 21:51:55 | 显示全部楼层
回复 4# jld95810


    同一个bat脚本需要在10个不同的机器上运行吗?还是在同一个机器上运行生产10个不同的ini文件?
发表于 2021-2-27 10:25:34 | 显示全部楼层
各台机子单独运行?还是服务器分发?
若各机运行是靠什么区分,是IP还是MAC?
若服务器分发是直接分发ini,还是分发bat后各机自动运行?
  1. ::根据IP更改配置文件中ID
  2. @echo off
  3. setlocal enableDelayedExpansion

  4. set ip1=192.168.1.20
  5. set ip2=192.168.1.19
  6. set ip3=192.168.1.18
  7. set ip4=192.168.1.17
  8. set ip5=192.168.1.16
  9. set ip6=192.168.1.15
  10. set ip7=192.168.1.14
  11. set ip8=192.168.1.13
  12. set ip9=192.168.1.12
  13. set ip10=192.168.1.11
  14. set "id1=12863768"
  15. set "id2=12863767"
  16. set "id3=12863766"
  17. set "id4=12863765"
  18. set "id5=12863764"
  19. set "id6=12863763"
  20. set "id7=12863762"
  21. set "id8=12863761"
  22. set "id9=12863760"
  23. set "id10=12863759"

  24. ::识别IP
  25. call :getIP pcip
  26. ::set "pcip=192.168.1.18"        ::假设

  27. ::更改ID
  28. for /l %%i in (1,1,10)do (
  29.         if "%pcip%"=="!ip%%i!" (
  30.                 sed -i "s/\(COUNTER_NO=\).*$/\1!id%%i!/" "d:\mis.ini"
  31.                 goto :outfor
  32.         )
  33. )
  34. :outfor

  35. pause
  36. goto :eof

  37. :getIP gip        获取IP
  38. 请搜索相应“获取IP”代码
  39. goto :eof
复制代码
 楼主| 发表于 2021-2-27 11:44:05 | 显示全部楼层
是10号在10台机子分别运行,一台机子一个号,你看看怎么写,服务器也行,客户端运行也,最好一开机自动识别这个每个机子的自的号
 楼主| 发表于 2021-2-27 11:46:33 | 显示全部楼层
最好通过ip和mac来识别
 楼主| 发表于 2021-2-27 11:47:07 | 显示全部楼层
客户机一起启动自动运行来识别
发表于 2021-2-27 15:46:32 | 显示全部楼层
脚本保存为 a.vbs
  1. Option Explicit
  2. On Error Resume Next

  3. Const conINI = "D:\mis.ini" 'ini路径
  4. Const conNIC = "vEthernet (Default Switch)" '网卡名
  5. Const ForReading = 1, ForWriting = 2, ForAppending = 8

  6. Dim objWbemServices,fso,tsr,tsw,Element,dicNIC_ININO,mac,str
  7. Set dicNIC_ININO = CreateObject("Scripting.Dictionary")
  8. ' MAC地址对应COUNTER_NO
  9. dicNIC_ININO.Add "00:15:5D:62:F7:80","12863768"
  10. dicNIC_ININO.Add "00:15:5D:62:F7:90","12863767"
  11. dicNIC_ININO.Add "00:15:5D:62:F7:72","12863765"
  12. dicNIC_ININO.Add "00:15:5D:62:F7:42","12863764"
  13. dicNIC_ININO.Add "00:15:5D:62:F7:32","12863763"
  14. dicNIC_ININO.Add "00:15:5D:62:F7:02","12863762"
  15. dicNIC_ININO.Add "00:15:5D:62:F7:12","12863761"
  16. dicNIC_ININO.Add "00:15:5D:62:F7:96","12863759"
  17. dicNIC_ININO.Add "00:15:5D:62:F7:98","12863758"
  18. dicNIC_ININO.Add "00:15:5D:62:F7:66","12863757"

  19. Set fso = CreateObject("Scripting.FileSystemObject")
  20. Set objWbemServices = GetObject("winmgmts:{ImpersonationLevel=Impersonate}!//./root/cimv2")
  21. For Each Element In objWbemServices.ExecQuery("Select NetConnectionID,MACAddress From Win32_NetworkAdapter Where NetConnectionID = '" & conNIC & "'")
  22.   mac = Element.MACAddress
  23. Next
  24. ' WScript.Echo "mac='" & mac & "'"
  25. If dicNIC_ININO.Exists(mac) Then
  26.   Set tsr = fso.OpenTextFile(conINI,ForReading,False,vbUseDefault) ' ANSI encoding
  27.   str = tsr.ReadAll
  28.   If Err.Number <> 0 Then MyQuit
  29.   Set tsw = fso.OpenTextFile(conINI,ForWriting,False,vbUseDefault) ' ANSI encoding
  30.   If Err.Number <> 0 Then MyQuit
  31.   With New RegExp
  32.     .Global = False
  33.     .Ignorecase = True
  34.     .Multiline = False
  35.     .Pattern = "(COUNTER_NO\s*=\s*).*"
  36.     tsw.Write(.Replace(str,"$1" & dicNIC_ININO.Item(mac)))
  37.   End With
  38. End If

  39. MyQuit

  40. Sub MyQuit()
  41.   On Error Resume Next
  42.   If IsObject(tsw) Then
  43.     tsw.Close
  44.     Set tsw = Nothing
  45.   End If
  46.   If IsObject(tsr) Then
  47.     tsr.Close
  48.     Set tsr = Nothing
  49.   End If
  50.   Set fso = Nothing
  51.   set dicNIC_ININO = Nothing
  52.   Set objWbemServices = Nothing
  53.   WScript.Quit
  54. End Sub
复制代码
 楼主| 发表于 2021-2-27 16:49:07 | 显示全部楼层
大哥直接放到启动项就可以了吧!!!好想启动没有反应,我把我的MAC地址换上去了
发表于 2021-2-27 18:01:41 | 显示全部楼层
如果有ftp服务器可考虑:
-----------------------------------------------------------
条件:一、ftp服务器、客户机用固定ip;
二、下载三方sed/wget到系统目录,如%windir%!

步骤:一、ip-id对应表文件保存在ftp服务器上;
二、下载sed.exe和wget.exe两个三方程序,存入%windir%;
三、(先测试,正常后加到启动项里)每台机子上添加bat开机启动;
四、客户机开机运行bat,下载对应表。自动识别ip,根据ip修改id。
发表于 2021-2-27 18:47:00 | 显示全部楼层
回复 13# jld95810


    把你改后的内容贴出来。MAC地址要大写
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 12:47 , Processed in 0.020380 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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