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

[文件操作] 【已解决】批处理如何用for进行两次筛选?

[复制链接]
发表于 2021-8-3 18:04:32 | 显示全部楼层 |阅读模式
本帖最后由 ashnoer 于 2023-5-10 11:38 编辑

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

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2021-8-3 18:20:08 | 显示全部楼层
回复 1# ashnoer
为什么非要用for循环呢?如果文件名格式是这种形式20200716,代码如下:
  1. @echo off
  2. dir /b *2020*
  3. dir /b *202007*
  4. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
ashnoer + 1 乐于助人

查看全部评分

发表于 2021-8-3 20:11:19 | 显示全部楼层
本帖最后由 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
复制代码

评分

参与人数 1技术 +1 收起 理由
ashnoer + 1 乐于助人

查看全部评分

发表于 2021-8-3 21:25:35 | 显示全部楼层
可以这样用,见识了
发表于 2021-8-3 22:51:04 | 显示全部楼层
本帖最后由 cmd1152 于 2021-8-3 22:54 编辑

已纠正代码
发表于 2021-8-3 22:54:43 | 显示全部楼层
回复 4# qixiaobin0715


    刚刚的代码是错的,现在纠正了
 楼主| 发表于 2021-8-12 00:53:36 | 显示全部楼层
回复 2# qixiaobin0715


    处理文件用
 楼主| 发表于 2021-8-12 00:55:53 | 显示全部楼层
回复 3# cmd1152


    不行,你这样我不如直接用202007*.*,
发表于 2021-8-12 08:43:47 | 显示全部楼层
回复 8# ashnoer


    你说用for呀?
发表于 2021-8-13 10:54:01 | 显示全部楼层
跟着高手学习一下
发表于 2021-8-13 15:32:32 | 显示全部楼层
回复 10# housecall


    额..这...
 楼主| 发表于 2021-8-17 21:59:29 | 显示全部楼层
回复 9# cmd1152


    额,,,标题不是说了么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 21:33 , Processed in 0.023664 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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