[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助BAT脚本数据处理问题

变量A=ja-jp,en-us,zh-cn
规则1:ja-jp,en-us,zh-cn(满足规则,变量*10)
规则2:ja-jp,zh-cn(满足规则,变量*20)
规则3:zh-cn,en-us(满足规则,变量*30)

就是要依次检查变量A中语言是否存在于规则1规则2规则3中,如果在,则执行指定命令

ja-jp需要执行变量*10
en-us需要执行变量*20
zh-cn需要执行变量*30

变量是各种语言,比如en-us,zh-cn,ja-jp等等

回复 8# Bieber


第34行下面加一行:
goto :eof
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7# Batcher

请教下,如果我想将所有的语言安装完毕后,去安装驱动,我在goto处跳转至安装驱动的部分,但是这样写后,驱动安装那里会在每个Input语言下,都安装一次,问题出在哪里?
  1. @echo off
  2. set "Input=ja-jp,zh-cn"
  3. for %%i in (%Input%) do (
  4.     echo --- Checking %%i
  5.     call :CheckRule %%i
  6. )
  7. pause
  8. goto :installDriver
  9. :CheckRule
  10. set "Rule1=ja-jp,en-us,zh-cn"
  11. set "Rule2=ja-jp,zh-cn"
  12. set "Rule3=zh-cn,en-us"
  13. echo %Rule1% | findstr /i "%1" >nul
  14. if errorlevel 1 (
  15.     echo %Rule1% : Not match
  16. ) else (
  17.     echo %Rule1% : Install
  18. )
  19. echo %Rule2% | findstr /i "%1" >nul
  20. if errorlevel 1 (
  21.     echo %Rule2% : Not match
  22. ) else (
  23.     echo %Rule2% : Install
  24. )
  25. echo %Rule3% | findstr /i "%1" >nul
  26. if errorlevel 1 (
  27.     echo %Rule3% : Not match
  28. ) else (
  29.     echo %Rule3% : Install
  30. )
  31. :installDriver
  32. echo :InstallDriver for lang
复制代码

TOP

回复 1# Bieber
  1. @echo off
  2. set "Input=ja-jp,zh-cn"
  3. for %%i in (%Input%) do (
  4.     echo --- Checking %%i
  5.     call :CheckRule %%i
  6. )
  7. pause
  8. goto :eof
  9. :CheckRule
  10. set "Rule1=ja-jp,en-us,zh-cn"
  11. set "Rule2=ja-jp,zh-cn"
  12. set "Rule3=zh-cn,en-us"
  13. echo %Rule1% | findstr /i "%1" >nul
  14. if errorlevel 1 (
  15.     echo %Rule1% : Not match
  16. ) else (
  17.     echo %Rule1% : Install
  18. )
  19. echo %Rule2% | findstr /i "%1" >nul
  20. if errorlevel 1 (
  21.     echo %Rule2% : Not match
  22. ) else (
  23.     echo %Rule2% : Install
  24. )
  25. echo %Rule3% | findstr /i "%1" >nul
  26. if errorlevel 1 (
  27.     echo %Rule3% : Not match
  28. ) else (
  29.     echo %Rule3% : Install
  30. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set "lang=ja-jp,en-us,zh-cn"
  3. set "lang1=,ja-jp,en-us,zh-cn,"
  4. set "lang2=,ja-jp,zh-cn,"
  5. set "lang3=,zh-cn,en-us,"
  6. for %%a in (%lang%) do  (
  7.      for /l  %%i in (1,1,3) do (
  8.           if "!lang%%i!" neq "!lang%%i:,%%a,=!" (
  9.               echo %%a fnc%%i
  10.           )
  11.      )
  12. )
  13. pause
复制代码

TOP

本帖最后由 Bieber 于 2024-4-13 18:05 编辑

回复 4# czjt1234
可以整理成txt,也可以是字符串,比如en-us,zh-cn,ja-jp等等

语言规则1:ja-jp,en-us,zh-cn(满足规则,安装fnc1)
语言规则2:ja-jp,zh-cn(满足规则,安装fnc2)
语言规则3:zh-cn,en-us(满足规则,安装fnc3)

需要安装的语言:ja-jp,en-us,zh-cn

ja-jp需要安装fnc1和fnc2
en-us需要安装fnc1和fnc3
zh-cn需要安装fnc1 fnc2和fnc3

TOP

数据表是啥格式?
文本文件,excel文件,access数据库,还是什么?

还有,表1表2都有5,怎么处理

QQ 20147578

TOP

回复 2# Batcher
就是想安装语言包(变量A),比如语言包1,语言包5,语言包9,语言包13
如果语言包在数据表1中,则执行语言包*10
如果语言包在数据表2中,则执行语言包*20
如果语言包在数据表3中,则执行语言包*30
数据表1,数据表2,数据表3分别对应不同的语言规则

TOP

回复 1# Bieber


    以顶楼数据为例,需要得到的结果是什么?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表