`

Forfiles 用法

阅读更多
Forfiles

从文件夹或树中选择要进行批处理的文件。
语法

forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}] [{MM/DD/YYYY | DD}]]
参数

/p Path

指定 Path,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号 (.) 指定。

/m SearchMask

按照 SearchMask 搜索文件。默认的 SearchMask 是 *.*。

/s

指示 forfiles 在子目录中搜索。

/c Command

在每个文件上运行指定的 Command。带有空格的命令字符串必须用引号括起来。默认的 Command 是 "cmd /c echo @file"。

/d[{+ | -}] [{MM/DD/YYYY | DD}]

选择日期大于或等于 (+)(或者小于或等于 (-))指定日期的文件,其中 MM/DD/YYYY 是指定的日期,DD 是当前日期减去 DD 天。如果未指定 + 或 -,则使用 +。DD 的有效范围是 0 - 32768。

/?

在命令提示符下显示帮助。
注释


Forfiles 最常用于批处理文件中。

Forfiles /s 与 dir /s 类似。

下表列出了可在 /cCommand 命令字符串中使用的变量。

变量 描述

@file

文件名

@fname

无扩展名的文件名

@ext

文件扩展名

@path

文件的完整路径

@relpath

文件的相对路径

@isdir

如果文件类型是目录,则计算值为 TRUE,否则值为 FALSE

@fsize

用字节表示的文件大小

@fdate

文件中上次修改的日期戳

@ftime

文件中上次修改的时间戳

使用 forfiles,可以在多个文件上运行命令或将参数传递给多个文件。例如,可以在树中带有 *.txt 扩展名的所有文件上运行 TYPE 命令。或者,可以用文件名“Myinput.txt”作为第一个参数,在 C:\ 驱动器上执行每个批处理文件 (*.bat)。

通过使用 forfiles,可以执行下列任何操作:

使用 /d 按照绝对或相对日期选择文件。

使用诸如 @fsize(文件大小)和 @fdate(文件日期)这样的变量构建文件的存档树。

使用 @isdir 变量区分文件和目录。

通过在命令行中包含特殊字符和使用十六进制代码 0xHH 环绕字符来格式化输出内容。

Forfiles 通过在旨在仅处理单个文件的工具上执行“循环子目录”标记来发挥作用。
示例

要列出驱动器 C: 上的所有批处理文件,请键入:

forfiles /p c:\ /s /m*.bat /c"cmd /c echo @file is a batch file"

要列出驱动器 C: 上的所有目录,请键入:

forfiles /p c:\ /s /m*.* /c"cmd /c if @isdir==true echo @file is a directory"

要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:

forfiles /p c:\ /s /m*.* /dt-100 /c"cmd /c echo @file :date >= 100 days"

要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:

forfiles /p c:\ /s /m*.* /dt-01011993 /c"cmd /c echo @file is quite old!"

要按列格式列出驱动器 C: 上所有文件的扩展名,请键入:

forfiles /p c:\ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09" With:

要列出驱动器 C: 上的所有批处理文件,请键入:

forfiles /p c:\ /s /m *.bat /c "cmd /c echo @file is a batch file"


要列出驱动器 C: 上的所有目录,请键入:

forfiles /p c:\ /s /m *.* /c "cmd /c if @isdir==true echo @file is a directory"

要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:

forfiles /p c:\ /s /m *.* /d t-100 /c "cmd /c echo @file :date >= 100 days"

要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:

forfiles /p c:\ /s /m *.* /d t-01011993 /c "cmd /c echo @file is quite old!"

要按列格式列出驱动器 C: 上所有文件的扩展名,请键入:

forfiles /p c:\ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09"

例子:在windows系统文件夹下删除前100天备份的oracle 数据文件

命令:forfiles /p E:\backup /m PBCDATA*.DMP -d -100 /c "cmd /c del /f @path"
分享到:
评论

相关推荐

    forfiles.exe及forfiles用法

    在`Forfiles用法.doc`文档中,可能会包含更详细的示例和使用场景,建议阅读以获取更多实战技巧。`forfiles.exe`文件本身则是这个工具的可执行程序,通常位于`%SystemRoot%\System32`目录下,如果没有的话,可以解压...

    forfiles用法详解

    ### forfiles用法详解 `forfiles`是一个非常实用且功能强大的Windows命令行工具,它允许用户对指定路径下的文件进行批量操作。本篇将详细介绍`forfiles`的各种选项及其实用场景,以便用户能够更好地利用这个工具...

    forfiles 批处理删除文件

    使用 forfiles 命令的详细用法 ```bat forfiles /p <目标目录名> /d <天数> /c <执行的命令> ``` **示例**: - 把在 C 盘根目录下最后修改日期大于或等于 2010 年 1 月 7 日的文件复制到 D 盘根目录下: ```bat ...

    forfiles工具

    这个是从windows server上拷过来的forfiles工具,通过简单的命令,可以自动删除n天前的文件。... 使用方法:将forfiles.exe文件拷贝到C:\windows\system32下 在控制台输入forfiles 有显示结果就说明已经可以用了

    windows:使用forfiles自动批量删除过期文件

    标题“windows:使用forfiles自动批量删除过期文件”所涉及的核心知识点是`forfiles`命令的用法,特别是如何利用它来删除满足特定条件(例如,按日期判断)的文件。让我们深入探讨一下`forfiles`的语法和实际应用。 ...

    forfiles大全支持xp/win7X64/win7X86

    `forfiles`是一个非常实用的命令行工具,主要...通过了解和掌握`forfiles`的用法,用户可以在Windows环境中更高效地管理文件,自动化日常维护任务,提升工作效率。尤其是在处理大量文件时,`forfiles`的功能尤为强大。

    FORFILES,WINDOWS批处理删除文件夹,子文件 ,按日期筛选。包含举例,非常方便

    本话题主要关注如何使用FORFILES命令配合批处理来删除指定条件下的文件夹和子文件,特别是根据日期进行筛选。FORFILES是Windows自带的一个实用工具,它可以对文件系统进行高级选择和操作,比如查找、删除、运行命令...

    批量删除指定日期的文件

    - **Windows 2003/7**: 直接使用系统内置的FORFILES工具即可。 #### 三、FORFILES命令详解 FORFILES命令的基本格式如下: ``` FORFILES [/P ] [/S] [/M ] [/D ] [/C ] ``` 其中: - `/P <Path>`: 指定搜索的...

    定时备份文件

    描述中提到的链接指向了一个名为“mcqueen.iteye.com”的博客帖子,虽然具体内容没有给出,但可以推测博主可能分享了关于如何设置和执行定时文件备份的方法或者使用的一款特定工具。在IT领域,定时备份是通过编程或...

    在WINDOWS定时自动删除文件.pdf

    下面是如何使用`forfiles.exe`删除指定文件夹中超过一定天数的旧文件: 1. **创建批处理文件**: - 在`forfiles.exe`所在的系统文件夹(通常是`C:\Windows\System32\`)或者任何其他位置创建一个批处理文件(例如`...

    DBA管理手册之SqlServer2000

    更多关于 `Forfiles` 的使用方法,可以参考微软官方文档页面:[Forfiles](http://technet.microsoft.com/windowsServer/en/Library/9660FEA1-65C7-48CF-B466-204BA159381E1033.aspx)。 ### 二、使用 ALTER USER ...

    windows下oracle11g数据泵自动备份脚本

    windows下oracle11g数据泵自动备份脚本含删除过期备份和使用方法 1、先建备份用的路径对象:(注:此处认为用来做备份的用户backupuser已经建好了,且已经有连接数据库的相应权限) sqlplus / as sysdba CREATE OR ...

    del /f /s /q 是什么意思_DOS命令教程

    在这个教程中,你可能会学到如何创建批处理文件,这是一种使用文本编辑器编写包含一系列DOS命令的.bat文件,然后通过执行该文件来自动化执行这些命令的方法。 批处理文件对于系统管理员和程序员来说尤其有用,因为...

    删除以前的备份文件夹

    具体使用方法如下: ```batch @echo off setlocal enabledelayedexpansion set "backup_dir=D:\数据库备份" set "days_ago=30" forfiles /p "%backup_dir%" /m * /d -%days_ago% /c "cmd /c del @path" ``` 上述...

    删除指定目录下指定天数之前的文件

    该命令使用`forfiles`遍历指定路径下的所有文件(包括子目录),并根据给定的天数过滤出符合条件的文件,然后使用`del`命令删除这些文件。 - **/p %1**:指定要操作的目录。 - **/s**:包含子目录。 - **/m *.***...

    计算机等考三级数据库辅导:适用于SQLServer生产环境DBA的七大技巧.docx

    了解forfiles的更多用法,可查阅微软官方文档。 2. **ALTER USER WITH LOGIN修复孤儿登录** 自SQL Server 2005 SP2起,ALTER USER命令的WITH LOGIN子句可以用来修复由于数据库恢复或迁移导致的孤儿用户问题。此...

    批处理复制或者移动列表中的文件

    例如,如果希望只移动那些在过去一周内修改过的文件,可以使用`forfiles`命令: ```batch @echo off for /f "delims=" %%i in (file_list.txt) do ( forfiles /p "%%i" /m *.* /d +7 /c "cmd /c move @file C:\...

Global site tag (gtag.js) - Google Analytics