Board logo

标题: [其他] 求助:请各位大佬解释一下findstr命令的含义 [打印本页]

作者: hfstar    时间: 2020-10-29 10:02     标题: 求助:请各位大佬解释一下findstr命令的含义

在某批处理中看到的:
  1. ver|findstr "5\.[0-9]\.[0-9][0-9]*" >NUL && (
  2. rd /s/q "%AllUsersProfile%\Application Data\kuwodata\kwshow" 2>NUL
  3. rd /s/q "%AllUsersProfile%\Application Data\kuwodata\kwmusic2013\Update" 2>NUL
  4. rd /s/q "%AllUsersProfile%\Application Data\kuwodata\kwmusic2013\ModuleData\ModNotify" 2>NUL
  5. del/f/q "%AllUsersProfile%\Application Data\kuwodata\kwmusic2013\ModuleData\ModMusicTool\conf.txt" >NUL 2>NUL
  6. md "%AllUsersProfile%\Application Data\kuwodata\kwmusic2013\ModuleData\ModMusicTool" 2>NUL
  7. echo f|copy /y "Bin\Data\conf.txt" "%AllUsersProfile%\Application Data\kuwodata\kwmusic2013\ModuleData\ModMusicTool" >NUL 2>NUL
  8. attrib +r "%AllUsersProfile%\Application Data\kuwodata\kwmusic2013\ModuleData\ModMusicTool\conf.txt" 2>NUL
  9. echo. >"%AllUsersProfile%\Application Data\kuwodata\kwmusic2013\ModuleData\ModNotify" 2>NUL
  10. echo. >"%AllUsersProfile%\Application Data\kuwodata\kwmusic2013\Update" 2>NUL
  11. echo. >"%AllUsersProfile%\Application Data\kuwodata\kwshow" 2>NUL
  12. )
  13. ver|findstr "\<6\.[0-9]\.[0-9][0-9]*\> \<10\.[0-9]\.[0-9][0-9]*\>" >NUL && (
  14. rd /s/q "%ProgramData%\kuwodata\kwshow" 2>NUL
  15. rd /s/q "%ProgramData%\kuwodata\kwmusic2013\Update" 2>NUL
  16. rd /s/q "%ProgramData%\kuwodata\kwmusic2013\ModuleData\ModNotify" 2>NUL
  17. del/f/q "%ProgramData%\kuwodata\kwmusic2013\ModuleData\ModMusicTool\conf.txt" >NUL 2>NUL
  18. md "%ProgramData%\Kuwodata\kwmusic2013\ModuleData\ModMusicTool" 2>NUL
  19. echo f|copy /y "Bin\Data\conf.txt" "%ProgramData%\Kuwodata\kwmusic2013\ModuleData\ModMusicTool" >NUL 2>NUL
  20. echo y|icacls "%ProgramData%\kuwodata\kwmusic2013\ModuleData\ModMusicTool\conf.txt" /c /grant "Everyone:(R,RX)" /inheritance:r >NUL 2>NUL
  21. echo. >"%ProgramData%\kuwodata\kwmusic2013\ModuleData\ModNotify" 2>NUL
  22. echo. >"%ProgramData%\kuwodata\kwmusic2013\Update" 2>NUL
  23. echo. >"%ProgramData%\kuwodata\kwshow" 2>NUL
  24. )
复制代码
一直不明白【ver|findstr "5\.[0-9]\.[0-9][0-9]*"】和【ver|findstr "\<6\.[0-9]\.[0-9][0-9]*\> \<10\.[0-9]\.[0-9][0-9]*\>"】的含义
请各位大佬答疑解惑一下
作者: Batcher    时间: 2020-10-29 10:24

回复 1# hfstar


http://bbs.bathome.net/thread-24-1-1.html
试试看完这个教程,再回过头来看看那两个命令,还有哪里不明白吗?
作者: hfstar    时间: 2020-10-29 10:32

回复 2# Batcher


    已经看过了,不明白的是【5\.[0-9]\.】这样的含义。
作者: qixiaobin0715    时间: 2020-10-29 11:01

本帖最后由 qixiaobin0715 于 2020-10-29 11:10 编辑

.是元字符,表示任意元素,\.将.转义,就表示字符.;如果不转义的话(5.[0-9].),5f66、5666、5g8h、5t9j、5987等均可匹配;转义后只能匹配像5.6.、5.5.、5.2.这样的字符。
[0-9]表示这里可以是0,1,2,3,4,5,6,7,8,9中任意一个数。
作者: hfstar    时间: 2020-10-29 11:12

回复 4# qixiaobin0715


    明白了,多谢




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