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

[文件操作] 批处理怎样提取某盘符下指定时间的所有文件文件名及创建时间?

为这个问题搞的头大了,
要在一个盘符下所有文件中寻找指定时间段创建的所有文件,将这些文件的文件名(只是文件名及后缀不需要绝对路径)及创建时间以表格形式存储,
只要求提取doc及xml又该怎么写。能对命令做一定解释将不胜感激

dir /t:c
dir /t:c *.doc *.xml
dir /?
努力学习,努力挣分

TOP

dir不能完成要求的样子,不用/B文件目录形式排列,用了/B,文件名变成了绝对路径,而且看不到创建时间

TOP

所以不用/b,就用dir /t:c的结果来分析时间
努力学习,努力挣分

TOP

但是这样显示不了全部子文件夹里的内容
我需要全部子文件夹内容,需要用/S,可是用了/S,就看不到简称和时间

TOP

forfiles可以吗。

TOP

楼上是指循环遍历么?我是这么想的,但确实写不出来。

TOP

办法是想出来的塞
  1. @echo off
  2. for /f "tokens=1,2,4 delims= " %%a in ('dir /t:c /s e:\vod') do (
  3.   if %%a geq 1990 if not "%%c"=="" if not "%%c"=="." if not "%%c"==".." (echo %%a %%b %%c>>a.xml)
  4. )
  5. pause
复制代码
把%%a %%b %%c的空格换成tab
努力学习,努力挣分

TOP

C:\>for /f "tokens=1,2,4 delims= " %a in ('dir /t:c /s /n c:\*.exe^|findstr "^20
10"') do echo %a %b %c>>3.txt
时间可以精确到天,如这样的格式 2009-05-02 修改2010成你需要的时间!
批处理格式的话加上 setlocal enabledelayedexpansion

TOP

  1. @echo off
  2. FOR /F "tokens=*" %%i IN ('forfiles /p e:\learn\web  /m *.doc /s /c "cmd /c echo @path"') DO (dir /t:C %%i|findstr /i  doc>>doc.txt)
复制代码
这个只能查doc的,不知道怎么在forfiles中查两种文件,改下扩展名查两次吧.
另这样查出来的结果有太多东西,用findstr过滤了下。

[ 本帖最后由 renmingwu 于 2010-8-2 09:51 编辑 ]

TOP

1.file createtime
2 提取doc及xml

占位, 有空了给你整

TOP

返回列表