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

[系统相关] 怎么让BAT在不同版本系统运行

[复制链接]
发表于 2022-11-27 17:16:19 | 显示全部楼层 |阅读模式
自己电脑开发的CMD 比如写 ipconfig /all 返回的全是英文。所以抓取关键字 获取IP以英文获取,但是 用到其他电脑上。返回的是中文显示。无法通用。
这种情况是不是只能用IF判断 对不同系统做适配?
有没有更方便的方法,比如设置回显变成英文 或者 设置cmd版本?
如果没有 那适配需要多少个版本?只需要适配英文中文 ?
因为个人开发个小应用 批量修改大量笔记本电脑的桌面壁纸 和 WIFI连接。
  1. @echo off
  2. :: 设置窗体背景颜色
  3. color 1f
  4. :: 设置窗体标题
  5. title 正在监控http://192.168.1.46:5000
  6. echo 正在监控 http://192.168.1.46:5000
  7. set firstMatch=True
  8. ipconfig /all |findstr Physical>asdf.txt
  9. for /F "delims=" %%i in (asdf.txt) do (
  10.                         if defined firstMatch (
  11.                                         set mac=%%i
  12.                                         set "firstMatch="
  13.         )
  14. )
  15. ipconfig |findstr IPv4>asdf.txt
  16. for /F "delims=" %%i in (asdf.txt) do (
  17.                                         set ip=%%i
  18.                                         set "firstMatch="
  19. )
  20. echo mac:%mac%
  21. echo ip:%ip%
  22. :next
  23. echo curl -s -d "mac=%mac:~-17%" -d "ip=%ip%" -X POST http://192.168.1.46:5000
  24. curl -s -d "mac=%mac:~-17%" -d "ip=%ip%" -X POST http://192.168.1.46:5000>asdf.txt
  25. set /p re=<asdf.txt
  26. del asdf.txt
  27. echo re:%re%
  28. if %re:~0,1%==0 (
  29.     echo 在%date:~0,10% %time:~0,8% 访问正常
  30.     echo 正在监控http://192.168.1.46:5000
  31. )
  32. if %re:~0,1%==1 (
  33.     echo 在%date:~0,10% %time:~0,8% 访问正常
  34.     echo %re:~1%
  35.         echo http://192.168.1.46:5000/zhuomian/%re:~1%/%mac:~-17%/
  36.         curl -o test.jpg http://192.168.1.46:5000/zhuomian/%re:~1%/%mac:~-17%/
  37.         reg add "hkcu\control panel\desktop" /v wallpaper /d "%cd%/test.jpg" /f
  38.         reg add "hkcu\control panel\desktop" /v WallpaperStyle /t REG_DWORD /d 2 /f
  39.         RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
  40.         set re=0
  41. )
  42. if %re:~0,1%==2 (
  43.     echo 在%date:~0,10% %time:~0,8% 访问正常
  44.     echo %re:~1%
  45.         echo http://192.168.1.46:5000/wifi/%mac:~-17%/
  46.         curl -o %re:~1%.xml http://192.168.1.46:5000/wifi/%mac:~-17%/%re:~1%/
  47.         netsh wlan add profile filename="%re:~1%.xml"
  48.         Netsh WLAN set profileparameter name="%re:~1%" connectionmode=auto
  49.         netsh wlan connect name=%re:~1%
  50.         set re=0
  51. )
  52. if %re:~0,1%==3 (
  53.     echo 在%date:~0,10% %time:~0,8% 访问正常
  54.     echo %re:~1%
  55.         echo %re:*YY=%
  56.         echo %re:~1%>123.txt
  57.         set first=True
  58.         for /f "delims=YY" %%i in (123.txt) do (
  59.                         if defined first (
  60.                                         set reip=%%i
  61.                                         set "first="
  62.         )
  63.         echo %reip%
  64.         if "%reip%" NEQ "" (
  65.         curl -o test.jpg http://192.168.1.46:5000/zhuomian/%reip%/%mac:~-17%/
  66.         reg add "hkcu\control panel\desktop" /v wallpaper /d "%cd%/test.jpg" /f
  67.         reg add "hkcu\control panel\desktop" /v WallpaperStyle /t REG_DWORD /d 2 /f
  68.         RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
  69.         )
  70.         if "%re:*YY=%" NEQ "" (
  71.         curl -o %re:~1%.xml http://192.168.1.46:5000/wifi/%mac:~-17%/%re:*YY=%/
  72.         netsh wlan add profile filename="%re:*YY=%.xml"
  73.         Netsh WLAN set profileparameter name="%re:*YY=%" connectionmode=auto
  74.         netsh wlan connect name=%re:*YY=%
  75.         )
  76. )
  77. )

  78. :: 休眠60秒
  79. choice /t 3 /d y /n >nul
  80. goto next
复制代码
自学没多久 现在困扰SET 参数 老是无效 只能> 到TXT然后读取TXT的信息到 SET 参数
 楼主| 发表于 2022-11-27 17:37:32 | 显示全部楼层
= = 问题自己解决了
第八行 ipconfig /all |findstr Physical>asdf.txt
改成ipconfig /all |findstr ..-..-..-..-..-..>asdf.txt 就行了
正则解决。好了 不研究bat了 太头疼
发表于 2022-11-27 18:48:04 | 显示全部楼层
刚才测试一下,运行 chcp 437 切换到美国代码页
ipconfig/all 出来的是英文
发表于 2022-11-27 20:03:14 | 显示全部楼层
回复 1# dickyuan


英文:chcp 437
中文:chcp 936
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 11:39 , Processed in 0.019106 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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