copy 将一个或多个文件从一个位置复制到其他位置_DOS/BAT

复制
将一个或多个文件从一个位置复制到其他位置。

语法
copy [/d] [/v] [/n] [{/y|/-y}] [/z] [{/a|/b}] Source [{/a|/b}] [+ Source [{/a|/b}] [+ ...]][Destination [{/a|/b}]]

参数
/d 
允许将复制的加密文件在目标处作为解密文件保存。 
/v 
验证是否正确写入新文件。 
/n 
在复制名字超过八个字符,或者文件扩展名超过三个字符的文件时使用短文件名(如果有的话)。 
/y 
禁止提示您确认要覆盖现存的目标文件。 
/-y 
提示您确认要覆盖现存的目标文件。 
/z 
在重启模式中复制网络文件。 
/a 
表明 ASCII 文本文件。 
/b 
表明二进制文件。 
Source 
必需指定要复制的文件或文件集的所在位置。source 可以由驱动器号和冒号、文件夹名、文件名或这几者的组合所组成。 
Destination 
必需指定要将文件或文件集复制到的位置。Destination 可以由驱动器号和冒号、文件夹名、文件名及这几者的组合所组成。 
/? 
在命令提示符显示帮助。 
注释
可以复制那些使用文件结束字符 (CTRL+Z) 以表明文件结束的 ASCII 文本文件。 
使用 /a 
当在命令行的文件列表之前有 /a 时,它适用于所有已列出的文件,直到 copy 遇到 /b。在这种情况下,/b 应用于文件前面的 /b。

当 /a 在命令行上紧跟在文件列表之后时,它适用于所有已列出的文件,直到 copy 遇到 /b。在这种情况下,/b 应用于文件前面的 /b。

/a 参数的作用取决于它在命令行字符串中的位置。当 /a 紧随 Source 之后时,copy 会将文件当作 ASCII(文本)文件,并复制第一个文件结束符前的数据。

当 /a 紧随 Destination 之后时,copy 会添加文件结束符作为文件的最后一个字符。

使用 /b 
/b 指定命令解释器读取目录中由文件大小指定的字节数。/b 是 copy 的默认值,除非 copy 用于合并文件。

当 /b 在命令行上位于文件列表之前时,它适用于所有已列出的文件,直到 copy 遇到 /a。在这种情况下,/a 应用于文件前面的 /a。

当 /b 在命令行上位于文件列表之后时,它适用于所有已列出的文件,直到 copy 遇到 /a。在这种情况下,/a 应用于文件前面的 /a。

/b 的作用取决于它在命令行字符串中的位置。当 /b 紧随 Source 之后时,copy 复制包含任何文件结束符的整个文件。

当 /b 紧随 Destination 之后时,copy 不会添加文件结束符。

使用 /v 
如果写入操作不能校验,则会出现错误消息。尽管使用 copy 很少发生记录错误,但是仍可以使用 /v 来确保重要的数据已正确记录。因为要检查驱动器上记录的每一个扇区,所以该 /v 命令行选项也会使 copy 命令的运行速度减慢。

使用 /y 和 /-y 
如果在 COPYCMD 环境变量中预先设置了 /y,可以通过在命令行使用 /-y 来替换该设置。默认情况下,在替换该设置时会提示您,除非该 copy 命令在批处理脚本中执行。

附属文件 
要附加文件,请为 Destination 指定单个文件,但要为 Source 指定多个文件(使用通配符或 文件 1+文件 2+文件 3 的格式)。

使用 /z 
如果在复制阶段连接丢失(例如,如果服务器脱机切断了连接),copy /z 将在重新建立连接后继续复制。/z 同时会显示每个文件已完成的复制操作的百分比。

复制到设备以及从设备复制 
可以用设备名替换一次或多次出现的 source 或 destination。

在复制到设备时使用或省略 /b 
当 destination 是设备时(例如,Com1 或 Lpt1),/b 将以二进制模式将数据复制到该设备。在二进制模式下,copy /b 会将所有字符(包括特殊字符,例如, CTRL+C、CTRL+S、CTRL+Z 以及换行符等)作为数据复制到设备。但是,如果省略了 /b,则将以 ASCII 模式将数据复制到设备。在 ASCII 模式下,特殊字符可能导致 Windows XP 在复制过程中合并文件。有关详细信息,请参阅“合并文件”。

使用默认目标文件 
如果不指定目标文件,将使用与源文件相同的名称、创建日期、创建时间来创建副本,并将新副本置于当前驱动器的当前目录中。如果源文件位于当前驱动器的当前目录中,而您没有为目标文件指定其他驱动器或目录,则 copy 命令将终止并显示下列错误消息:

File cannot be copied onto itself

0 File(s) copied 

合并文件 
如果指定了使用加号 (+) 分隔的多个 source,copy 会将这些文件合并在单个文件之中。如果在 source 中使用了通配符(* 或 ?),但在 destination 中指定了单个文件名,则 copy 会将所有与 source 中的文件名匹配的文件合并,并使用在 destination 中指定的文件名来创建单个文件。除非使用了 /b 命令行选项,否则在任一种情形中,copy 都会假定合并的文件是 ASCII 文件。

复制零长度文件 
Copy 不会复制 0 字节长度的文件。使用 xcopy 复制这些文件。

更改文件的时间和日期 
如果要将当前的时间和日期指派给文件而不修改文件,请使用以下语法: 

copy /b Source+,,

逗号表明省略了 Destination 参数。

在子目录中复制文件 
要复制目录中的所有的文件和子目录,应该使用 xcopy 命令。有关 xcopy 的详细信息,请参阅“”。

故障恢复控制台提供了带有不同参数的 copy 命令。 
范例
要将文件 Memo.doc 复制到当前目录中的 Letter.doc,并确保在复制的文件的末尾为文件结束符,请键入: 

copy memo.doc letter.doc /a 

要将文件 Robin.typ 从当前驱动器的当前目录复制到位于驱动器 C 上的现有目录 Birds 中,请键入: 

copy robin.typ c:\birds 

如果 Birds 目录不存在,Robin.typ 文件将被复制到驱动器 C 的磁盘根目录下名为 Birds 的文件中。

要将几个文件复制进一个文件,则需列出几个 Source 文件,并且文件名之间用加号 (+) 隔开,同时指定要包含合并结果文件的 Destination 文件。例如,要将位于当前驱动器的当前目录中的 Mar89.rpt、Apr89.rpt 以及 May89.rpt 合并,并将它们放在当前驱动器的当前目录下名为 Report 的文件中,请键入: 

copy mar89.rpt + apr89.rpt + may89.rpt report 

合并文件时,copy 会使用当前日期和时间来标记目标文件。如果省略 Destination,则文件被合并并且会使用首个指定的文件的名称存储。例如,要将所有的四个文件合并进 Report,而且已有名为 Report 的文件,请键入: 

copy report + mar89.rpt + apr89.rpt + may89.rpt 

还可通过使用通配符(* 或 ?)来将几个文件合并进一个文件。例如,在当前驱动器的当前目录中,要将所有具有 .exe 扩展名的文件合并进名为 Combin.doc 的文件中,请键入: 

copy *.txt combin.doc 

如果要使用通配符将几个二进制文件合并进一个文件,请添加 /b 命令行选项。这可防止 Windows XP 将 CTRL+Z 当作文件结束符处理。例如,键入: 

copy /b *.exe combin.exe 

警告

如果合并二进制文件,结果文件可能因为内部格式而无法使用。
在下例中,copy 命令将每个带有 .txt 扩展名的文件和它对应的 .ref 文件合并起来。结果是文件名相同但扩展名为 .doc 的文件。copy 将 File1.txt 与 File1.ref 合并形成 File1.doc,然后 copy 将 File2.txt 与 File2.ref 合并形成 File2.doc,如此等等。例如,键入:

copy *.txt + *.ref *.doc 

要合并所有具有 .txt 扩展名的文件,然后合并所有具有 .ref 扩展名的文件,并将合并结果置于 Combin.doc 文件中,请键入: 

copy *.txt + *.ref combin.doc 

XOX 

时间: 2024-08-30 05:56:28

copy 将一个或多个文件从一个位置复制到其他位置_DOS/BAT的相关文章

Windows下写一个文件备份脚本(专用备份的)_DOS/BAT

今天一个意外,我写的大半个月的日记加密文件受损,无法恢复.于是决定写一个专用备份的脚本文件. 主要思想就是在当前目录backup下根据当天的日期创建一个文件夹,然后将文件复制到该文件夹下. 脚本文件如下: 复制代码 代码如下: echo off echo ********开始备份日志文件******** set ymd=%date:~0,4%%date:~5,2%%date:~8,2% set backup-dir=backupnotebook-%ymd% echo 备份目录:%backup-d

复制文件到c盘windows文件夹下的system32的批处理写法_DOS/BAT

现在想从"C:\Program Files\常用绿色软件\soft\"将'FinalData.exe'.'OfficeDiary.exe'.'DisplayX.exe'这三个程序拷贝到'C:\WINDOWS\system32'并覆盖原有的三个,应该怎么编写??? 问题1:批处理的编写支持长文件夹和长文件名吗? 问题2:批处理的编写支持中文文件夹吗? 问题3:覆盖原有文件会出现提示吗?如果会,怎么让它不提示直接覆盖了? @echo off for %%a in (FinalData Of

一个小助手批处理实例代码_DOS/BAT

包括 ECHO 1. 显示或隐藏文件 ECHO 2. 清理系统垃圾 ECHO 3. 注册表解除锁定 ECHO 4. 修复IE浏览器 ECHO 5. 关闭默认共享 ECHO 6. 管理控制MMC ECHO 7. 清除多余启动项@ECHO off @title 小助手 By:柴子 :start CLS COLOR 0f MODE con: COLS=41 LINES=18 set tm1=%time:~0,2% set tm2=%time:~3,2% set tm3=%time:~6,2% ECHO

批处理发送文件夹的快捷方式到桌面的代码_DOS/BAT

复制代码 代码如下: echo [InternetShortcut] > "%userprofile%\桌面\文件夹.url" echo URL=file:///C:/windows >> "%userprofile%\桌面\文件夹.url" 将上面的代码保存为1.bat即可.

用批处理上传文件到ftp目录下的实现方法_DOS/BAT

为了快速将项目中开发的补丁程序通过ftp快速上传到linux下,感觉每次用flashFxp等工具麻烦),写了个简单的批处理,与大家分享一下. 将以下代码保存为.bat格式的文件,每次将要上传的补丁保存在规定的本地目录中,只要双击执行此文件就能上传到你的指定目录上. 说明: 192.168.1.1 ftp ip 地址 21 端口 username 用户名 password 密码 temp.txt 保存ftp信息的临时文件,上传后删除 C:\Documents and Settings\user\桌

批处理获取文件夹下面txt文件行数并添加到文件名后_DOS/BAT

方法一: @echo off&setlocal enabledelayedexpansion for /f "delims=" %%a in ('dir /a-d/b/s *.txt') do ( for /f "tokens=3 delims=:" %%b in ('find /c /v "" "%%a"') do set n=%%b ren "%%a" "%%~na_!n: =!%%~

批处理 文件归类整理器(当面目录)_DOS/BAT

复制代码 代码如下: @echo off title 文件归类整理器 :: 目的: :: :: 对当前目录下的不同文件进行归类操作(不处理子目录) :: :: 2006-12-16 修改了一处错误 for /f "delims=" %%i in ('dir /a-d /b /oe') do ( set "nx_name=%%~nxi" call :build_dir %%~xi set file_type=%%~xi ) goto :eof rem =======

dos下遍历目录和文件的代码(主要利用for命令)_DOS/BAT

===== 文件夹结构 ============================================= D:\test ---A Folder 1 |-----A file 1.txt |-----A file 2.txt |-----A file 3.txt ---B Folder 2 |-----B file 1.txt |-----B file 2.txt |-----B file 3.txt |---B Folder 3 |-----B sub

.one 文件从一个电脑copy到另一个电脑后无法查看文件内容

问题描述 .one 文件从一个电脑copy到另一个电脑后无法查看文件内容 2C 把个人笔记 javaEE.one 文件从一个电脑 copy 到另一个电脑上以后就无法查看文件内容了,并且电脑上都装有 2010版的 OneNote,跪求大神指点