Board logo

标题: [文件操作] 求助,打开bat后有几个选项根据选项更改文件的某一行,之后重启某个进程 [打印本页]

作者: 三世三繁锦    时间: 2019-10-6 18:51     标题: 求助,打开bat后有几个选项根据选项更改文件的某一行,之后重启某个进程

就是打开bat后有几个数字选项,1更改ip为xxxx 2更改ip为xxxx 3更改ip为xxxx
文件的位置在C:\MFPC_Client\MFPC_Client.ini
文件内容为:
  1. [Setting]
  2. PublicComputer=0
  3. ServerIP=x.x.x.x
复制代码
这里的x.x.x.x 每个部门的不一样,所以得改这一行的内容,
然后改完之后自动重启MFPC_Client.exe这个进程(这个我倒是知道)
  1. @echo off
  2. @tasklist|find "MFPC_Client.exe"
  3. @if %errorlevel%==0 taskkill.exe /IM MFPC_Client.exe /t /f
  4. @start C:\MFPC_Client\MFPC_Client.exe
  5. @exit
复制代码
求助各位大神~~~
作者: zaqmlp    时间: 2019-10-6 20:12

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢打赏
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. :input
  6. for %%a in (
  7.     "1=192.168.1.1"
  8.     "2=192.168.1.55"
  9.     "3=192.168.1.66"
  10. ) do (
  11.     set "#%%~a"
  12.     for /f "tokens=1* delims==" %%b in (%%a) do echo;%%b、更改ip为%%c
  13. )
  14. set "c="
  15. set /p c=输入数字序号:
  16. set "inifile=C:\MFPC_Client\MFPC_Client.ini"
  17. if not defined #%c% (echo;input error&goto end)
  18. if not exist "%inifile%" (echo;"%inifile%" not found&goto end)
  19. (for /f "delims=" %%a in ('type "%inifile%"') do (
  20.     set "line=%%a"
  21.     setlocal enabledelayedexpansion
  22.     if /i "!line:~,9!" equ "ServerIP=" (
  23.         echo;ServerIP=!#%c%!
  24.     ) else echo;!line!
  25.     endlocal
  26. ))>"%tmp%\t.t"
  27. move "%tmp%\t.t" "%inifile%"
  28. call echo;%%#%c%%%
  29. taskkill /im MFPC_Client.exe /t /f
  30. start "" "C:\MFPC_Client\MFPC_Client.exe"
  31. :end
  32. echo;%info%
  33. pause
复制代码





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