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

     

  • 相关阅读:
    topcoder srm 445 div1
    topcoder srm 440 div1
    topcoder srm 435 div1
    topcoder srm 430 div1
    topcoder srm 400 div1
    topcoder srm 380 div1
    topcoder srm 370 div1
    topcoder srm 425 div1
    WKWebView强大的新特性
    Runtime那些事
  • 原文地址:https://www.cnblogs.com/Denny_Yang/p/4126102.html
Copyright © 2011-2022 走看看