文章目录
- 1.Fc : 比较两个文件或文件集,并显示它们之间的差异。
- 2.Filescrn : 安装了文件服务器资源管理器.
- 3.Find : 查找文件中目标字符串.
- 4.Findstr : 查找文件中目标字符串.
- 5.Finger : 显示与运行手指服务的指定系统上某个用户有关的信息.
- 6.Flattemp : 启用或禁用平面临时文件夹。
- 7.For :为一组文件中的每个文件运行指定的命令。
- 8.Forfiles : 选择并执行一个文件或一组文件的命令。
- 9.Format : 格式化磁盘以接受Windows文件。
- 10.Freedisk : 在继续安装过程之前,检查指定的磁盘空间量是否可用。
- 11.Fsutil : 执行与文件分配表(FAT)和NTFS文件系统相关的任务.
- 12.Ftp : 与运行文件传输协议(FTP)服务器服务的计算机之间传输文件。
- 13.Ftype : 显示或修改文件扩展名关联中使用的文件类型。
- 14.Fveupdate : 将与BitLocker关联的元数据更新为最新版本。
1.Fc : 比较两个文件或文件集,并显示它们之间的差异。
适用于:Windows 7,Windows Server 2008,Windows Server 2008 R2,Windows Vista
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]
[drive1:][path1]filename1 [drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2
/A 只显示每个不同处的第一行和最后一行。
/B 执行二进制比较。
/C 不分大小写。
/L 将文件作为 ASCII 文字比较。
/LBn 将连续不匹配的最大值设置为指定
的行数。
/N 在 ASCII 比较上显示行数。
/OFF[LINE] 不要跳过带有脱机属性集的文件。
/T 不要将制表符扩充到空格。
/U 将文件作为 UNICODE 文本文件比较。
/W 为了比较而压缩空白(制表符和空格)。
/nnnn 指定不匹配处后必须连续
匹配的行数。
[drive1:][path1]filename1
指定要比较的第一个文件或第一个文件集。
[drive2:][path2]filename2
指定要比较的第二个文件或第二个文件集。
例子
要对两个文本文件Monthly.rpt和Sales.rpt进行ASCII比较,并以缩写格式显示结果,请键入:
fc /a monthly.rpt sales.rpt
要对两个批处理文件(Profits.bat和Earnings.bat)进行二进制比较,请键入:
fc /b profits.bat earnings.bat
结果类似于以下内容:
00000002: 72 43
00000004: 65 3A
0000000E: 56 92
...
...
...
000005E8: 00 6E
FC: Earnings.bat longer than Profits.bat
如果Profits.bat和Earnings.bat文件相同,则fc显示以下消息:
Comparing files Profits.bat and Earnings.bat`
FC: no differences encountered
要将当前目录中的每个.bat文件与New.bat文件进行比较,请键入:
fc *.bat new.bat
要将驱动器C上的文件New.bat与驱动器D上的文件New.bat进行比较,请键入:
fc c:new.bat d:*.bat
要将驱动器C上根目录中的每个批处理文件与驱动器D上根目录中具有相同名称的文件进行比较,请键入:
fc c:*.bat d:*.bat
2.Filescrn : 安装了文件服务器资源管理器.
适用于:Windows Server 2008
该filescrn命令安装了文件服务器资源管理器,包括用于创建和管理文件组,文件屏蔽,文件屏蔽例外和文件屏幕模板,并配置筛选文件的一般管理选项的子命令。
3.Find : 查找文件中目标字符串.
在windows查找文件位置及查找文件中目标字符串dos命令中已介绍。
4.Findstr : 查找文件中目标字符串.
在windows查找文件位置及查找文件中目标字符串dos命令中已介绍。
5.Finger : 显示与运行手指服务的指定系统上某个用户有关的信息.
显示与运行手指服务的指定系统上某个用户有关的信息。输出因远程系统而异。
FINGER [-l] [user]@host [...]
-l 以长列表格式显示信息。
user 指定需要其信息的用户。省略 user 参数将显示与指定主机上所有用户有关的信息。
@host 指定需要其用户信息的远程系统上的服务器。
说明:
可以指定多个User@Host参数。
您必须使用连字符( - )而不是斜杠(/)为finger参数添加前缀。
仅当Internet协议(TCP / IP)协议作为网络连接中网络适配器属性中的组件安装时,此命令才可用。
Windows Server 2003不提供finger服务。
例子
要在计算机users.microsoft.com上显示user1的信息,请键入:
finger user1@users.microsoft.com
要显示计算机users.microsoft.com上所有用户的信息,请键入:
finger @users.microsoft.com
6.Flattemp : 启用或禁用平面临时文件夹。
适用于:Windows Server 2008,Windows Server 2008 R2
启用或禁用平面临时文件夹。
7.For :为一组文件中的每个文件运行指定的命令。
适用于:Windows 7,Windows Server 2003,Windows Server 2003 R2,Windows Server 2008,Windows Server 2008 R2,Windows Vista,Windows XP
为一组文件中的每个文件运行指定的命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.
如果启用命令扩展,则会支持下列 FOR 命令的其他格式:
FOR /D %variable IN (set) DO command [command-parameters]
如果set包含通配符,则指定与目录名匹配,而不与文件名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,
则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列
1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1)
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
或者,如果有 usebackq 选项:
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
fileset 为一个或多个文件名。继续到 fileset 中的下一个文件之前,
每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字,
然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。
以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。
您可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个
或多个指定不同解析选项的关键字。这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致额外变量名称的分配。
m-n格式为一个范围。通过 nth 符号指定 mth。
如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后
分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且一个单
引号字符为文字字符串命令并允许在 file-set中使用双引号扩起文件名称。
某些范例可能有助:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给 for 函数体,
用逗号和/或空格分隔符号。请注意,此 for 函数体的语句引用 %i 来获得第二个符号,引用 %j 来获得第三个符号,
引用%k来获得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使
用双引号,还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。
%i 在 for 语句中显式声明,%j 和 %k 是通过tokens= 选项隐式声明的。可以通过 tokens= 一行
指定最多 26 个符号,只要不试图声明一个高于字母 "z" 或"Z" 的变量。
请记住,FOR 变量是单一字母、分大小写和全局的变量;而且,不能同时使用超过 52 个。
还可以在相邻字符串上使用 FOR /F 分析逻辑,方法是,用单引号将括号之间的 file-set 括起来。这样,该字符
串会被当作一个文件中的一个单一输入行进行解析。
最后,可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 file-set 变成一个反括字符串。
该字符串会被当作命令行,传递到一个子 CMD.EXE,其输出会被捕获到内存中,并被当作文件分析。如以下例子所示:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
会枚举当前环境中的环境变量名称。
另外,FOR 变量参照的替换已被增强。您现在可以使用下列选项语法:
%~I - 删除任何引号("),扩展 %I
%~fI - 将 %I 扩展到一个完全合格的路径名
%~dI - 仅将 %I 扩展到一个驱动器号
%~pI - 仅将 %I 扩展到一个路径
%~nI - 仅将 %I 扩展到一个文件名
%~xI - 仅将 %I 扩展到一个文件扩展名
%~sI - 扩展的路径只含有短名
%~aI - 将 %I 扩展到文件的文件属性
%~tI - 将 %I 扩展到文件的日期/时间
%~zI - 将 %I 扩展到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩展到
空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩展到一个驱动器号和路径
%~nxI - 仅将 %I 扩展到一个文件名和扩展名
%~fsI - 仅将 %I 扩展到一个带有短名的完整路径名
%~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩展到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法用一个有效的 FOR 变量名终止。
选取类似 %I 的大写变量名比较易读,而且避免与不分大小写的组合键混淆。
8.Forfiles : 选择并执行一个文件或一组文件的命令。
适用于:Windows Server 2008,Windows Vista
选择并执行一个文件或一组文件的命令。此命令对批处理很有用。
FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy/MM/dd | dd}]
描述:
选择一个文件(或一组文件)并在那个文件上执行一个命令。这有助于批处理作业。
参数列表:
/P pathname 表示开始搜索的路径。默认文件夹是当前工作的目录 (.)。
/M searchmask 根据搜索掩码搜索文件。默认搜索掩码是 '*'。
/S 指导 forfiles 递归到子目录。像 "DIR /S"。
/C command 表示为每个文件执行的命令。命令字符串应该用双引号括起来。
默认命令是 "cmd /c echo @file"。下列变量
可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展名。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 "TRUE";
如果是文件,返回 "FALSE"。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间。
要在命令行包括特殊字符,字符请以 0xHH
形式使用十六进制代码(例如,0x09 为 tab)。
内部 CMD.exe 命令前面应以 "cmd /c" 开始。
/D date 选择文件,其上一次修改日期大于或等于 (+),
或者小于或等于 (-) 用 "yyyy/MM/dd" 格式指定的日期;
或选择文件,其上一次修改日期大于或等于 (+)
当前日期加 "dd" 天,或者小于或等于 (-) 当前
日期减 "dd" 天。有效的 "dd" 天数可以是
0 - 32768 范围内的任何数字。如果没有指定,
"+" 被当作默认符号。
/? 显示此帮助消息。
示例:
FORFILES /?
FORFILES
FORFILES /P C:\WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C "cmd /c type @file | more"
FORFILES /P C:\ /S /M *.bat
FORFILES /D -30 /M *.exe
/C "cmd /c echo @path 0x09 在 30 前就被更改。"
FORFILES /D 2001/01/01
/C "cmd /c echo @fname 在 2001年1月1日就是新的。"
FORFILES /D +2019/7/18 /C "cmd /c echo @fname 今天是新的。"
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C "cmd /c echo @fsize"
FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
例子
要列出驱动器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"
要列出当前目录中至少有一年的所有文件,请键入:
forfiles /s /m *.* /d -365 /c "cmd /c echo @file is at least one year old."
要为当前目录中早于2007年1月1日的每个文件显示文件“ 文件已过期”,请键入:
forfiles /s /m *.* /d -01/01/2007 /c "cmd /c echo @file is outdated."
要以列格式列出当前目录中所有文件的文件扩展名,并在扩展名前添加选项卡,请键入:
forfiles /s /m *.* /c "cmd /c echo The extension of @file is 0x09@ext"
9.Format : 格式化磁盘以接受Windows文件。
适用于:Windows Server 2008,Windows Vista
格式化磁盘以接受Windows文件。
FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X] [/P:passes] [/S:state]
FORMAT volume [/V:label] [/Q] [/F:size] [/P:passes]
FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors] [/P:passes]
FORMAT volume [/V:label] [/Q] [/P:passes]
FORMAT volume [/Q]
volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
/FS:filesystem 指定文件系统的类型(FAT、FAT32、exFAT、NTFS、或 UDF)。
/V:label 指定卷标。
/Q 执行快速格式化。请注意,此开关可替代 /P。
/C 仅适于 NTFS: 默认情况下,将压缩在该新建卷上创建的文件。
/X 如果必要,请先强制卸除卷。该卷的所有打开句柄不再有效。
/R:revision 仅 UDF: 强制格式化为特定的 UDF 版本
(1.02、1.50、2.00、2.01、2.50)。
默认 修订版为 2.01。
/D 仅适用于 UDF 2.50: 将复制元数据。
/A:size 替代默认分配单元大小。强烈建议您在通常情况下使用默认 设置。
NTFS 支持 512、1024、2048、4096、8192、16K、32K、64K。
FAT 支持 512、1024、2048、4096、8192、16K、32K、64k,
(128k、256k 用于大于 512 个字节的扇区)。 FAT32 支持 512、
1024、2048、4096、8192、16k、32k、64k, (128k 、256k 用于
大于 512 个字节的扇区)。EXFAT 支持 512、1024、2048、4096、
8192、16K、32K、64K、 128K、256K、512k、1M、2M、4M、8M、16M、
32M。
请注意,FAT 及 FAT32 文件系统对卷上的群集数量施加以下限制:
FAT: 群集数量 <= 65526 FAT32: 65526 < 群集数量 < 4177918
如果判定使用指定的群集大小无法满足以上需求,将立即停止格式化。
大于 4096 的分配单元大小不支持 NTFS 压缩。
/F:size 指定要格式化的软盘大小(1.44)
/T:tracks 为磁盘指定每面磁道数。
/N:sectors 指定每条磁道的扇区数。
/P:passes 将卷上每个扇区的操作次数清零。
此开关对 /Q 无效
/S:state 其中 "state" 为 "enable" 或 "disable"
默认情况下启用了短名称
要使用默认大小格式化驱动器A中的新软盘,请键入:
format a:
要对驱动器A中先前格式化的软盘执行快速格式化操作,请键入:
format a: /q
要格式化驱动器A中的软盘并为其分配卷标“DATA”,请键入:
format a: /v:DATA
10.Freedisk : 在继续安装过程之前,检查指定的磁盘空间量是否可用。
适用于:Windows Server 2008,Windows Vista
在继续安装过程之前,检查指定的磁盘空间量是否可用。
freedisk [/s <Computer> [/u [<Domain>\]<User> [/p [<Password>]]]] [/d <Drive>] [<Value>]
参数
参数 描述
/s <计算机>指定远程计算机的名称或IP地址(不要使用反斜杠)。
默认为本地计算机。此参数适用于命令中指定的所有文件和文件夹。
/u [<Domain> \] <User>使用指定用户帐户的权限运行脚本。默认值为系统权限。
/p [<Password>] 指定/ u中指定的用户帐户的密码。
/d [<Drive>] 指定要查找可用空间可用性的驱动器。您必须为远程计算机指定<Drive>。
<value> 检查特定数量的可用磁盘空间。您可以以字节,KB,MB,GB,TB,PB,EB,ZB或YB指定<值>。
11.Fsutil : 执行与文件分配表(FAT)和NTFS文件系统相关的任务.
适用于:Windows 7,Windows Server 2000,Windows Server 2003,Windows Server 2003 R2,Windows Server 2008,Windows Server 2008 R2,Windows Vista
执行与文件分配表(FAT)和NTFS文件系统相关的任务,例如管理重新分析点,管理稀疏文件或卸载卷。如果在没有参数的情况下使用它,fsutil将显示支持的子命令列表。
注意
您必须以管理员或Administrators组成员的身份登录才能使用fsutil。该FSUTIL命令是非常强大的,只应由谁拥有Windows操作系统的全面知识的高级用户使用。
12.Ftp : 与运行文件传输协议(FTP)服务器服务的计算机之间传输文件。
适用于:Windows 7,Windows Server 2008,Windows Server 2008 R2,Windows Vista
与运行文件传输协议(FTP)服务器服务的计算机之间传输文件。通过处理ASCII文本文件,可以交互方式或批处理方式使用Ftp。
将文件传送到运行 FTP 服务器服务(经常称为后台程序)的计算机以及将文件从该计算机传出。可以交互使用 Ftp。
FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [host]
-v 禁止显示远程服务器响应。
-n 禁止在初始连接时自动登录。
-i 关闭多文件传输过程中的交互式提示。
-d 启用调试。
-g 禁用文件名通配(请参阅 GLOB 命令)。
-s:filename 指定包含 FTP 命令的文本文件;命令
在 FTP 启动后自动运行。
-a 在绑字数据连接时使用所有本地接口。
-A 匿名登录。
-x:send sockbuf 覆盖默认的 SO_SNDBUF 大小 8192。
-r:recv sockbuf 覆盖默认的 SO_RCVBUF 大小 8192。
-b:async count 覆盖默认的异步计数 3
-w:windowsize 覆盖默认的传输缓冲区大小 65535。
host 指定主机名称或要连接到的远程主机的 IP 地址。
注意:
- mget 和 mput 命令将 y/n/q 视为 yes/no/quit。
- 使用 Ctrl-C 中止命令。
例子
要登录名为ftp.example.microsoft.com的FTP服务器,请键入:
ftp ftp.example.microsoft.com
要登录名为ftp.example.microsoft.com的FTP服务器并运行名为resync.txt的文件中包含的ftp命令,请键入:
ftp -s:resync.txt ftp.example.microsoft.com
13.Ftype : 显示或修改文件扩展名关联中使用的文件类型。
适用于:Windows Server 2008,Windows Vista
显示或修改文件扩展名关联中使用的文件类型。如果在没有赋值运算符(=)的情况下使用,则ftype显示指定文件类型的当前打开命令字符串。如果在没有参数的情况下使用,则ftype显示已定义打开命令字符串的文件类型。
ftype [<FileType>[=[<OpenCommandString>]]]
显示或修改用在文件扩展名关联中的文件类型
FTYPE [fileType[=[openCommandString]]]
fileType 指定要检查或改变的文件类型
openCommandString 指定调用这类文件时要使用的开放式命令。
键入 FTYPE 而不带参数来显示当前有定义的开放式命令字符串的文件类型。
FTYPE 仅用一个文件类型启用时,它显示那个文件类型目前的开放式命令字符串。
如果不为开放式命令字符串指定,FTYPE 命令将删除那个文件类型的开放式命令字符串。
在一个开放式命令字符串之内,命令字符串 %0 或 %1 被通过关联调用的文件名所代替。
%* 得到所有的参数,%2 得到第一个参数,%3 得到第二个,等等。
%~n 得到其余所有以 nth 参数打头的参数;n 可以是从 2 到 9 的数字。例如:
ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %1 %*
允许您启用以下 Perl 脚本:
script.pl 1 2 3
如果不想键入扩展名,则键入以下字符串:
set PATHEXT=.pl;%PATHEXT%
被启动的脚本如下:
script 1 2 3
例子
要显示已定义打开命令字符串的当前文件类型,请键入:
ftype
要显示txtfile文件类型的当前打开命令字符串,请键入:
ftype txtfile
此命令生成类似于以下内容的输出:
txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
要删除名为Example的文件类型的open命令字符串,请键入:
ftype example=
若要将.pl文件扩展名与PerlScript文件类型相关联并启用PerlScript文件类型以运行PERL.EXE,请键入以下命令:
assoc .pl=PerlScript
ftype PerlScript=perl.exe %1 %*
要在调用Perl脚本时无需键入.pl文件扩展名,请键入:
set PATHEXT=.pl;%PATHEXT%
14.Fveupdate : 将与BitLocker关联的元数据更新为最新版本。
适用于:Windows 7,Windows Server 2008 R2
FveUpdate是一种内部使用的工具,当计算机从Windows Vista或Windows Server 2008升级到Windows 7或Windows Server 2008 R2时,由安装程序运行。它将与BitLocker关联的元数据更新为最新版本。此工具无法独立运行。
ample的文件类型的open命令字符串,请键入:
ftype example=
若要将.pl文件扩展名与PerlScript文件类型相关联并启用PerlScript文件类型以运行PERL.EXE,请键入以下命令:
assoc .pl=PerlScript
ftype PerlScript=perl.exe %1 %*
要在调用Perl脚本时无需键入.pl文件扩展名,请键入:
set PATHEXT=.pl;%PATHEXT%