Board logo

标题: [文件操作] 【已解决】批处理如何用for进行两次筛选? [打印本页]

作者: ashnoer    时间: 2021-8-3 18:04     标题: 【已解决】批处理如何用for进行两次筛选?

本帖最后由 ashnoer 于 2023-5-10 11:38 编辑

比如一堆以日期命名的文件,我想先用for循环从中找到2020年的文件,再进行一次for循环从中找到7月的所有文件
【同时应满足:从所有文件中找出名称带有07的文件,再从中找出2020的文件,然后把满足这两个条件 的文件输出显示】然后显示出来,
作者: qixiaobin0715    时间: 2021-8-3 18:20

回复 1# ashnoer
为什么非要用for循环呢?如果文件名格式是这种形式20200716,代码如下:
  1. @echo off
  2. dir /b *2020*
  3. dir /b *202007*
  4. pause
复制代码

作者: cmd1152    时间: 2021-8-3 20:11

本帖最后由 cmd1152 于 2021-8-3 22:53 编辑
  1. @echo off
  2. echo 找2020年
  3. (for /f %%i in ('dir /b 2020*') do (echo %%i))
  4. echo 找2020年7月
  5. (for /f %%i in ('dir /b 202007*') do (echo %%i))
  6. pause
复制代码

作者: qixiaobin0715    时间: 2021-8-3 21:25

可以这样用,见识了
作者: cmd1152    时间: 2021-8-3 22:51

本帖最后由 cmd1152 于 2021-8-3 22:54 编辑

已纠正代码
作者: cmd1152    时间: 2021-8-3 22:54

回复 4# qixiaobin0715


    刚刚的代码是错的,现在纠正了
作者: ashnoer    时间: 2021-8-12 00:53

回复 2# qixiaobin0715


    处理文件用
作者: ashnoer    时间: 2021-8-12 00:55

回复 3# cmd1152


    不行,你这样我不如直接用202007*.*,
作者: cmd1152    时间: 2021-8-12 08:43

回复 8# ashnoer


    你说用for呀?
作者: housecall    时间: 2021-8-13 10:54

跟着高手学习一下
作者: cmd1152    时间: 2021-8-13 15:32

回复 10# housecall


    额..这...
作者: ashnoer    时间: 2021-8-17 21:59

回复 9# cmd1152


    额,,,标题不是说了么




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