zoukankan      html  css  js  c++  java
  • 批处理删除文件或列出文件用

    自动删除几天前的文件

    Windows 2003 2008测试通过

    通过forfiles命令找到几天前的数据。

    forfiles的几个参数:

    /P 可是搜索的路径。在我们这里就是要在哪个目录寻找要删除的文件
    /M 根据搜索掩码搜索文件。默认为*,我们要删除某时间以前的文件。我们只关心时间。
    /D 文件修改时间在某个时间之前或者之后。-200 表示200天之前的文件。
    /C 表示为每个文件执行的命令,这里是要删除该文件所以为"cmd /c del /F /s /q @file"。其中变量@file表示该文件名。

    综上所述,得出下列脚本:

    @echo off
    echo Del file :::::::::
    echo forfiles /P D: estDATA /M * /S /D -200 /C "cmd /c del /F /s /q @file"
    echo forfiles /P D: estDATA /D -200 /C "cmd /c del @file"

    echo done
    echo . & pase

    在linux下可以用find 命令来查找:
    find ./ -ctime 1 -name “*mail” -exec rm {} ;
    删除一天前修改的文件。

    rem 删除前一天的历史数据
    forfiles /m *.fc /s /D -1 /c "cmd /c del @file"

    rem 删除当前目录下及其子目录中的空文件夹
    for /f "tokens=*" %a in ('dir /b /ad /s E:FileCache^|sort /r') do rd "%a" /q 2>nul

    在批处理中把%改成%%
    for /f "tokens=*" %%a in ('dir /b /ad /s E:FileCache^|sort /r') do rd "%%a" /q 2>nul

    Forfiles

    windows server 2003内置命令

    开关很少,p路径,m 方式,s包含子目录,c执行命令,d日期

    普通使用可能比不上for,dir等, 但是c这个开关很强大的

    command string:
    @file - returns the name of the file.
    @fname - returns the file name without extension.
    @ext - returns only the extension of the file.
    @path - returns the full path of the file.
    @relpath - returns the relative path of the file.
    @isdir - returns "TRUE" if a file type is a directory, and "FALSE" for files.
    @fsize - returns the size of the file in bytes.
    @fdate - returns the last modified date of the file.
    @ftime - returns the last modified time of the file.


    FORFILES /P C:WINDOWS /S /M DNS*.*
    列出windows及其子目录下DNS开头的所有文件

    FORFILES /S /M *.txt /C "cmd /c type @file | more"
    列出当前目录以及子目录下所有的txt文档的内容,并以分页的形式打印出来

    FORFILES /P C: /S /M *.bat
    列出windows及其子目录下的bat文件

    FORFILES /D -30 /M *.exe /C "cmd /c echo @path 0x09 was changed 30 days ago"

    列出30天内修 改过的exe文件,列出路径+自定义文字0x09(tab) was changed 30 days ago

    FORFILES /D 2001/01/01 /C "cmd /c echo @fname is new since Jan 1st 2001"

    列出 2001、0101后的文件并打印文档名字+is new since Jan 1st 2001

    FORFILES /D +2009/4/10 /C "cmd /c echo @fname is new today"

    列出20090410后修改过的文 件,并打印

    FORFILES /M *.exe /D -1

    列出一天前到现在修改过的exe文件
    FORFILES /S /M *.doc /C "cmd /c echo @fsize"

    列出doc文件,并打印出文件大小

    FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"

    列出txt文件, 如果不是文件夹,那么就依次用notepad打开该文件,关闭后开启下一个文件。

    forfiles /m *.log /c "cmd /c del @file"
    forfiles /m *.log /c "cmd /c if @fsize geq 1000000 (del @file)"
    forfiles /m *.log /c "cmd /c if @fsize geq 1000000 (del @file) Else (move @file c:archive)"
    forfiles /m *.log /c "cmd /c if @fsize geq 1000000 (echo @file is 1MB or larger) Else (echo @file is 1MB less)"

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    移动images下的文件:

    @echo off
    set dir="C:Projectwebimages.100bm.cnUser"

    forfiles /p %dir% /S /M *.* /D -2015/10/31 /C "cmd /c echo @file && move /Y @path C:Projectwebimages.100bm.cnpart201510"
    pause

    :: && move /Y @path %target%

    ::&& move /Y @path %target%@file

     

  • 相关阅读:
    经济学原理---10 外部性-- 读书笔记
    经济学原理---9应用:国际贸易--- 读书笔记
    人月神话阅读笔记之一
    小水王
    构建之法读书笔记之五
    课堂作业
    时间记录日志
    构建之法读书笔记之四
    查找水王程序
    代码阅读方法与实践阅读笔记01
  • 原文地址:https://www.cnblogs.com/Denny_Yang/p/4126102.html
Copyright © 2011-2022 走看看