碰到个客户,需要在早上9点上线一样产品,没办法,真没起,想来想去想到了windows的任务计划程序,但是貌似那货也没有复制粘贴功能,只能跑个程序,好吧,只好自己再折腾个XCOPY,今早起来,一切OK,所以来这里分享下。

一、Demo

  XCOPY "C:\xcopytest_1\*" "C:\xcopytest_2" /S /Y

  这句很简单,从源地址拷到新地址,全部复制,并且直接覆盖不提示。

二、官方文档

  2.1  网址

    微软官方:http://technet.microsoft.com/zh-cn/library/cc771254

  2.2  语法

  Xcopy <Source>[<Destination>][] /w[] /p[] /c[] /v[] /q[] /f[] /l[] /g[/d [: 年-月-日]][] /u[/i][/s [/e]][] /t[] /k[] /r[] /h[{/a | /m}][n] /[] /o[] /x[/ 排除: FileName1 [+ [FileName2]] [+ [没有]] [{/y | /-y}] [/z] [/b] [/j]

  2.3  参数

 

参数 说明

<Source>

该参数必须包含驱动器或路径。

[<Destination>]

该参数可以包含驱动器号和冒号、 目录名、 文件名或它们的组合。

/w

将显示以下消息,并在开始复制文件之前将等待您的响应:

按任意键可开始复制文件

/p

将提示您确认是否要创建每个目标文件。

/c

忽略错误。

/v

写入目标文件,以确保目标文件与源文件相同时,请验证每个文件。

/q

取消xcopy消息的显示。

/f

在复制时将显示源和目标文件的名称。

/l

显示要复制的文件的列表。

/g

当目标不支持加密,请创建解密的目标文件。

/d [: 年-月-日]

此命令行选项允许您更新已更改的文件。

/u

将文件复制仅存在于目标

/i

默认情况下,通过xcopy会提示您指定目标是文件或目录。

/s

如果省略/sxcopy工作单个目录中。

/e

/t

/t

要复制空目录,必须包含/e命令行选项。

/k 选项

默认情况下,通过xcopy删除只读属性。

/r

将只读文件。

/h

默认情况下,通过xcopy没有复制隐藏文件或系统文件

/a

其他参考。

/m

其他参考。

/n

目标 目标 文件系统可以是 FAT 或 NTFS)。

/o

复制文件所有权与随机访问控制列表 (DACL) 信息。

/x

复制文件审核设置和系统访问控制列表 (SACL) 信息 (隐含/o)。

/ exclude:FileName1[+[FileName2][+[FileName3](…)]

每个文件将包含搜索字符串,其中每个文件中单独的一行上的字符串。

将排除obj目录下的所有文件或具有.obj扩展名的所有文件。

/y

禁止提示确认要覆盖现有的目标文件。

/-y

会提示您确认要覆盖现有的目标文件。

/z

可重启模式中通过网络复制。

/b

此参数是在 Windows Vista ® 中引入的。

/j

此参数中添加了在 Windows Server ® 2008 R2 引入。

/?

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

  2.4  备注

      • 使用/v 

        它仅用于保留兼容性与现有 MS-DOS 文件,但由于此功能是自动的因此在命令行上有任何影响。 

      • 使用/z 

        /z同时会显示每个文件完成的复制操作的百分比。 

      • 使用/y COPYCMD 环境变量中。 

        默认情况下,会提示您覆盖,除非xcopy从批处理脚本内运行。 

      • 复制加密的文件 

        首先解密文件或将文件复制到支持 EFS 的卷。 

      • 添加文件 

        要附加的文件,请指定一个文件的目标,但源的多个文件 (即,通过使用通配符或 file1 + 文件 2 + 文件 3 格式)。 

      • 目标的默认值 

        如果省略目标, xcopy命令将文件复制到当前目录。 

      • 指定目标文件或目录 

        如果目标不包含现有的目录,并且不以反斜杠 (\) 结尾,则会出现以下消息: 
        没有 <Destination>在目标系统上指定的文件名或目录名 (F = 文件,D = 目录) 吗?

        使用/i命令行选项,这会导致xcopy假定目标为目录,如果源是多个文件或目录,您可以取消此消息。 

      • 使用xcopy命令来设置存档属性的目标文件 

        其他参考。 

      • 比较xcopydiskcopy 

        使用xcopy ,除非您需要完整的磁盘图像副本。 

      • Xcopy的退出代码 

        下表列出了每个退出代码和说明。 

 

 

退出代码 说明

0

文件复制没有错误。

1

不找到要复制的任何文件。

2

用户按下 CTRL + C 将终止xcopy

4

没有足够的内存或磁盘空间,或在命令行上输入了无效的驱动器的名称或无效的语法。

5

磁盘写入时出错。

 

   2.5  示例

  

    要从驱动器 A 将所有文件和子目录 (包括所有空的子目录) 都复制到驱动器 B,请键入:

    xcopy 答: b: /s /e

    若要在上面的示例包括任何系统或隐藏的文件,请按如下所示添加/h命令行选项:

    xcopy 答: b: /s /e /h

    要更新 \Reports 目录中的文件与自 1993 年 12 月 29 日以来已更改的文件 \Rawdata 目录中键入:

    xcopy \rawdata \reports /d:12-29-1993年

    要更新在上一示例中,日期,无论 \Reports 中存在的所有文件,请键入:

    xcopy \rawdata \reports /u

    若要获得前一个命令复制文件的列表 (也就是说,而不复制文件),类型:

    xcopy \rawdata \reports /d:12-29-1993年 /l >xcopy.out

    文件 xcopy.out 中列出了每个要复制的文件。

    要复制目录 \\Public\Address 网络驱动器 h: 上的 \Customer 目录和所有子目录,请保留只读属性中,并上高:,类型创建一个新文件时,系统会提示:

    xcopy \customer h:\public\address /s /e /k /p

    要发出上一个命令,请确保xcopy创建 \Address 目录 (如果它不会存在,并禁止显示消息的情况下会出现您创建一个新目录中,添加/i命令行选项,如下所示:

    xcopy \customer h:\public\address /s /e /k /p /i

例如,以下的批处理程序使用可替换的xcopy源和目标参数:

    @ echo offrem COPYIT。BAT 传输所有文件中的所有子目录 ofrem 源驱动器或目录 (%1) destinationrem 驱动器或目录 (%2) xcopy %1 %2 /s /eif 错误级别 4 转到 lowmemoryif 错误级别 2 转到 abortif 错误级别 0 转至退出: lowmemoryecho 内存不足,无法复制文件 orecho 无效的驱动器或按 CTRL + C 结束复制 operation.goto 退出的 syntax.goto 命令行退出: abortecho: 退出

    若要使用该批处理程序将 C:\Prgmcode 目录及其子目录中的所有文件都复制到驱动器 B,请键入:

    copyit c:\prgmcode b:

 

Xcopy Xcopy 遇到错误,如果批处理程序读取的退出代码转到适当的等级 IF语句中指定的标签,显示相应的信息并退出批处理程序。

相关文章:

  • 2021-08-25
  • 2021-12-31
  • 2021-07-22
  • 2021-07-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-23
  • 2021-10-03
  • 2021-12-26
  • 2022-02-12
  • 2021-11-12
相关资源
相似解决方案