关于Windows中使用文件夹复制命令xcopy的说明

在Windows系统中我们可以在cmd命令行下使用copy命令对文件进行复制。但是copy命令只能复制文件,对于文件夹的复制,则需要xcopy命令来复制。xcopy是copy的高级版本,有更丰富的参数,能实现更加复杂的功能,能进行文件和文件夹的复制。
xcopy:复制文件和目录树。

一、语法定义:

xcopy source [destination] [/a | /m] [/d[:date]] [/p] [/s [/e]] [/v] [/w] [/c] [/i] [/q] [/f] [/l] [/g] [/h] [/r] [/t] [/u] [/k] [/n] [/o] [/x] [/y] [/-y] [/z] [/b] [/j] [/exclude:file1[+file2][+file3]...]

二、参数说明:
/?:查看帮助。
source:指定要复制的文件。
destination:指定新文件的位置和/或名称。
/a:仅复制有存档属性集的文件,但不更改属性。
/m:仅复制有存档属性集的文件,并关闭存档属性。
/d:m-d-y:复制在指定日期或指定日期以后更改的文件,如果没有提供日期,只复制那些源时间比目标时间新的文件。
/exclude:file1[+file2][+file3]…:指定含有字符串的文件列表,每个字符串在文件中应位于单独的一行。如果任何字符串与复制文件的绝对路径的任何部分相符,则排除复制该文件。例如指定如\obj\或.obj的字符串会分别排除目录obj下面的所有文件或带有.obj扩展名的所有文件。
/p:创建每个目标文件之前提示你。
/s:复制目录和子目录,不包括空目录。
/e:复制目录和子目录,包括空目录,与/S /E相同。可以用来修改/T。
/v:验证每个新文件的大小。
/w:提示你在复制前按键。
/c:即使有错误,也继续复制。
/i:如果目标不存在,且要复制多个文件,则假定目标必须是目录。
/q:复制时不显示文件名。
/f:复制时显示完整的源文件名和目标文件名。
/l:显示要复制的文件。
/g:允许将加密文件复制到不支持加密的目标。
/h:也复制隐藏文件和系统文件。
/r:覆盖只读文件。
/t:创建目录结构,但不复制文件。不包括空目录或子目录。/T /E包括空目录和子目录。
/u:只复制已经存在于目标中的文件。
/k:复制属性。一般的Xcopy会重置只读属性。
/n:用生成的短名称复制。
/o:复制文件所有权和ACL信息。
/x:复制文件审核设置(隐含/O)。
/y:取消提示以确认要覆盖现有目标文件。
/-y:要提示以确认要覆盖现有目标文件。
/z:在可重新启动模式下复制网络文件。
/b:复制符号链接本身与链接目标。
/j:复制时不使用缓冲的I/O。推荐复制大文件时使用。
windows-cmd-xcopy-1
windows-cmd-xcopy-2

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

xcopy a:b:/s /e

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

xcopy a:b:/s /e /h

要使用\Rawdata目录中1993年12月29日后更改的文件更新\Reports目录中的文件,请键入:

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

要更新上例中\Reports中存在的所有文件,而不考虑日期,请键入:

xcopy \rawdata \reports /u

如果只想获得前一个命令要复制的文件列表,而不复制文件,请键入:

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

文件Xcopy.out列出了要复制的所有文件。

要将\Customer目录和所有子目录复制到网络驱动器H上的目录\\Public\Address,保留只读属性,并在H上创建新文件时对您做出提示,请键入:

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

要发出上一个命令,确保在\Address目录不存在时xcopy会创建该目录,同时应抑制显示创建新目录时要显示的消息,请按如下所示添加/i命令行选项:

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

关于Windows中文件复制命令copy的说明

在Windows系统中我们可以在cmd命令行下使用copy命令对文件进行复制。
copy:将一份或多份文件复制到另一个位置。

一、语法定义:

copy [/d] [/v] [/n] [/y | /-y] [/z] [/l] [/a | /b ] source [/a | /b] [+ source [/a | /b] [+ ...]] [destination [/a | /b]]

二、参数说明:
/?:查看帮助。
source:指定要复制的文件。
/a:表示一个ASCII文本文件。
/b:表示一个二进位文件。
/d:允许解密要创建的目标文件。
destination:为新文件指定目录和/或文件名。
/v:验证新文件写入是否正确。
/n:复制带有非8dot3名称的文件时,尽可能使用短文件名。
/y:不使用确认是否要改写现有目标文件的提示。
/-y:使用确认是否要改写现有目标文件的提示。
/z:用可重新启动模式复制已联网的文件。
/l:如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。
windows-cmd-copy-1

三、调用示例:
最基本的文件复制:

copy C:\test\test.txt D:\

如果D盘根目录下已经存在了一个名为test.txt的文件,那么,复制过去的时候,copy命令就会提示你是否覆盖原文件、放弃复制还是覆盖所有文件。

如果在批量复制的时候需要全部覆盖原文件,那么可以使用不加提示就覆盖原文件的参数/y(相当于自动选择了Yes选项),完整的命令为:

copy /y C:\test\test.txt D:\

如果复制的时候需要修改文件名,比如把test.txt改为1.txt的时候,可以直接使用:

copy C:\test\test.txt D:\1.txt

也就是说,在指定目标路径的时候,直接指定文件名,那么,新的文件名就是源文件复制之后的名字。

如果要复制的路径带有空格、&等特殊符号,请使用引号把这些特殊字符括起来,比如:

copy "C:\test\test.txt" "D:\text 1.txt"

copy命令可以合并多个文件为一个文件,具体的格式为:copy文件1+文件2+文件3+……目标路径\新文件名。例如:

copy C:\test.txt+C:\abc.txt D:\test\test.txt

以上命令把C盘根目录下的test.txt和abc.txt两个文件的内容合并为test.txt,并保存到D:\test目录下。

关于JavaScript中apply方法的说明

apply()方法在指定this值和参数(参数以数组或类数组对象的形式存在)的情况下调用某个函数。

一、语法定义:

fun.apply(thisArg[, argsArray]);

二、参数说明:
thisArg:在fun函数运行时指定的this值。需要注意的是,指定的this值并不一定是该函数执行时真正的this值,如果这个函数处于非严格模式下,则指定为null或undefined时会自动指向全局对象(浏览器中就是window对象),同时值为原始值(数字,字符串,布尔值)的this会指向该原始值的自动包装对象。

argsArray:一个数组或者类数组对象,其中的数组元素将作为单独的参数传给fun函数。如果该参数的值为null或undefined,则表示不需要传入任何参数。从ECMAScript 5开始可以使用类数组对象。浏览器兼容性请参阅本文底部内容。

三、方法描述:
在调用一个存在的函数时,你可以为其指定一个this对象。this指当前对象,也就是正在调用这个函数的对象。使用apply,你可以只写一次这个方法然后在另一个对象中继承它,而不用在新对象中重复写该方法。
apply与call非常相似,不同之处在于提供参数的方式。apply使用参数数组而不是一组参数列表。apply可以使用数组字面量(array literal),如

fun.apply(this, ['eat', 'bananas']);

或数组对象,如

fun.apply(this, new Array('eat', 'bananas'));

你也可以使用arguments对象作为argsArray参数。arguments是一个函数的局部变量。它可以被用作被调用对象的所有未指定的参数。这样,你在使用apply函数的时候就不需要知道被调用对象的所有参数。你可以使用arguments来把所有的参数传递给被调用对象。被调用对象接下来就负责处理这些参数。
从ECMAScript第5版开始,可以使用任何种类的类数组对象,就是说只要有一个length属性和[0…length)范围的整数属性。例如现在可以使用NodeList或一个自己定义的类似

{'length': 2, '0': 'eat', '1': 'bananas'}

形式的对象。
需要注意:Chrome 14以及Internet Explorer 9仍然不接受类数组对象。如果传入类数组对象,它们会抛出异常。

更多信息请参阅:Function.prototype.apply() – JavaScript | MDN