You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用cmd.exe按创建年份统计指定盘符下.RAW文件数量

统计指定盘符下.RAW文件按创建年份的数量

你之前的命令dir /a:-d /s /b "H:" | find /c /v ".RAW"逻辑是反的:/v参数会统计不包含.RAW的文件数量,要统计.RAW总数应该用dir /a:-d /s /b "H:\*.RAW" | find /c /v "",但这个命令无法按创建日期分组统计。以下是两种可行的解决方案:

方案1:PowerShell(推荐,简洁高效)

直接用PowerShell的文件处理能力,一行命令即可完成按年份统计:

Get-ChildItem -Path "H:\" -Filter "*.RAW" -Recurse -File | Group-Object -Property { $_.CreationTime.Year } | Select-Object Name, Count
  • Get-ChildItem -Path "H:\" -Filter "*.RAW" -Recurse -File:递归遍历H盘所有.RAW格式的文件
  • Group-Object -Property { $_.CreationTime.Year }:按文件的创建年份分组
  • Select-Object Name, Count:输出分组后的年份(Name列)和对应文件数量(Count列)

执行后会直接显示类似结果:

Name Count
---- -----
2020    15
2021    32
2022    27

方案2:CMD批处理脚本

如果习惯使用CMD命令行,可以用以下批处理脚本实现:

@echo off
setlocal enabledelayedexpansion

:: 初始化1990-2030年的计数变量
for /l %%y in (1990,1,2030) do set count_%%y=0

:: 遍历所有.RAW文件,提取创建年份并计数
for /f "tokens=1 delims= " %%a in ('dir /a:-d /s /tc "H:\*.RAW" ^| findstr /i "\.RAW$"') do (
    set "create_date=%%a"
    :: 提取年份(适配MM/DD/YYYY和DD/MM/YYYY格式,取日期字符串最后4位)
    set "year=!create_date:~-4!"
    set /a count_!year!+=1
)

:: 输出统计结果
echo === RAW文件创建年份统计 ===
for /l %%y in (1990,1,2030) do (
    if !count_%%y! gtr 0 echo 年份 %%y:!count_%%y! 个
)

endlocal
  • dir /a:-d /s /tc "H:\*.RAW":递归显示H盘所有.RAW文件的创建时间(/tc指定显示创建时间)
  • 脚本会自动提取年份并累加计数,最后输出有文件的年份和对应数量

注意:CMD的日期格式可能因系统区域设置不同而变化,如果你的系统日期格式不是MM/DD/YYYY或DD/MM/YYYY,需要调整年份提取的字符串截取位置。

内容的提问来源于stack exchange,提问作者Morten Ejby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 22:03:12