Board logo

标题: [文本处理] 求助:批处理获取计算机号写入指定的ini [打印本页]

作者: hhdmmjz    时间: 2019-3-14 14:48     标题: 求助:批处理获取计算机号写入指定的ini

目的是获取机房计算机名后两位的数字写入config.ini的第六行 从而获取机号显示在桌面上
  1. @echo off
  2. set num=%computername%
  3. set /a  ji=%num:~-2%
  4. (for /f "tokens=1* delims=:" %%a in ('type "config.ini" ^| findstr /n .*') do (
  5.     if %%a equ 6 (
  6.         echo 机号=%ji%
  7.     ) else (
  8.         echo,%%b
  9.     )
  10. ))>new.ini
  11. move /y new.ini config.ini
复制代码
以上代码可以实现,但当计算机后两位是08和09时就会是空内容,如计算机名是:504JF08和504JF09时,ini的机号就会是空,其它01~60数字都正常。请教高人帮助,谢谢!
补充,当计算机名后两位是01~09时,只显示一位数,就是显示 机号=1,而不是机号=01
作者: Batcher    时间: 2019-3-14 15:22

set /a  ji=%num:~-2%
把这个 /a 删掉试试
作者: zaqmlp    时间: 2019-3-14 15:28

echo,机号=%computername:~-2%
作者: hhdmmjz    时间: 2019-3-14 17:24

回复 2# Batcher

删除  /a 能显示08,09。但我不想显示0,有办法解决否?谢谢热心回复
作者: Batcher    时间: 2019-3-14 17:37

回复 4# hhdmmjz


    set /a ji=1%num:~-2%-100
作者: hhdmmjz    时间: 2019-3-14 19:55

本帖最后由 hhdmmjz 于 2019-3-14 19:57 编辑

回复 5# Batcher
谢谢版主,完美解决了。set /a  ji=1%num:~-2%-100,巧妙解决问题,再次感谢!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2