在DOS下如何将D盘所有文件复制到E盘下?

命令里有*.*了;可是每次只能复制一个文件?为什么啊?
2024-11-23 09:20:00
推荐回答(4个)
回答1:

返回主页

XCOPY

拷贝目录及其子目录和文件(除隐含和系统文件)。

使用这个命令,可以拷贝一个目录中的所有文件,包括该目录中的子目录的所有文件。

语法 :
XCOPY source [destination][/Y][/-Y] [/A|/M] [/D:date] [/P] [/S[/E]] [/V]
[/W]

参数 :

source
指定要拷贝的文件名和位置,必须包含驱动器或路径。

destination
指定拷贝的目标位置,可包含驱动器字母和冒号、目录名、文件名、或它们的组合。

开关 :

/Y
指定让XCOPY在替换原有文件时不进行确认。默认时,若目标文件已经存在,XCOPY会让你确认是否替换原有文件(MS-DOS的旧版直接覆盖原有文件)。若XCOPY命令在批处理文件中执行,则XCOPY以旧版本的方式操作,不进行安全性确认。 此开关覆盖所有默认值和COPYCMD环境变量的当前设置。

/-Y
指定让XCOPY在替换原有文件时进行确认。此开关覆盖所有默认值和COPYCMD环境变量的当前设置。

/A
只拷贝那些档案文件属性已设置的源文件。这个开关不修改源文件的档案属性。关于如何设置档案文件属性的信息,请参阅ATTRIB命令。

/M
拷贝档案文件属性已设置的源文件。和/A开关不同,/M开关关闭源文件的档案文件属性。关于如何设置档案文件属性的信息,请参阅ATTRIB命令。

/D:date
只拷贝在指定日期之后修改过的源文件。注意日期的标准格式取决于正在使用的COUNTRY设置。

/P
在创建每一个目标文件时提示确认该文件。

/S
拷贝目录和子目录,除非它们为空。如果忽略这一开关,XCOPY就只在单个目录内部工作。

/E
拷贝目录和子目录,即使它们为空。如果忽略这一开关,XCOPY就只在单个目录内部工作。

/V
每次写目标文件时,检验目标文件和源文件是否完全相同。

/W
在拷贝文件之前显示如下信息并等待回答:

按任意键开始文件拷贝。

相关的命令

关于拷贝单个文件的信息,请参阅命令。

关于拷贝磁盘命令的信息,请参阅命令。

XCOPY—注解

目标位置的默认值

如果省略了目标位置,XCOPY命令就将文件拷贝到当前目录下。

指定目标是文件还是目录

如果目标位置中不包含已存在的目录,并且没有用反斜杠(\)结束,XCOPY就提示如下格式的信息:

Does destination specify a file name
or directory name on the target
(F = file, D = directory)?

如果希望文件被拷贝到一个文件就按F;如果希望文件被拷贝到一个目录则按D。

设置COPYCMD环境变量

COPYCMD环境变量用于确定在执行COPY、MOVE和XCOPY命令时(不管是否以批命令的方式发出),若目标文件已存在,是否提醒用户进行确认。

若让COPY、MOVE和XCOPY命令在覆盖原有文件之前进行确认,则COPYCMD应设为/-Y;否则,应设为/Y。键入带开关/Y或/-Y的上述命令后,默认值和COPYCMD的当前设置均被覆盖。

XCOPY不拷贝隐含和系统文件

在老版本的MS-DOS中,XCOPY拷贝隐含和系统文件。在MS-DOS 6.22则不然。要去掉文件的隐含或系统属性,可使用命令。

XCOPY为目标文件设置档案属性

XCOPY创建的文件档案属性已设置,而不管源文件的这个属性中是否设置。关于文件属性的信息,请参阅ATTRIB命令。

XCOPY和DISKCOPY

如果要将一张带子目录(子目录中有文件)的磁盘拷贝到另一个不同格式的磁盘,应该使用XCOPY命令来代替DISKCOPY命令。因为DISKCOPY命令是逐道进行拷贝的,它要求源盘和目标盘具有同样的格式。而XCOPY却没有这一要求。在一般情况下,应使用XCOPY,除非需要完整的磁盘映像拷贝。但是,XCOPY不能拷贝隐含或系统文件,如IO.SYS和MSDOS.SYS。因此,使用DISKCOPY才能拷贝系统盘。

XCOPY的退出码

下面列出XCOPY的退出码及其简要描述:

0
文件拷贝没有发生错误。

1
没有文件要拷贝。

2
用户按CTRL+C终止XCOPY。

4
初始化错误。没有足够的内存或磁盘空间,或是命令行输入了非法的驱动器名或语法。

5
发生磁盘写错误。

可以用批处理文件中IF命令的ERRORLEVEL参数处理XCOPY的退出码。详细信息,请参阅主题。

XCOPY—例子

下例将A盘上的所有文件和子目录拷贝到B盘(包括所有的空子目录):

xcopy a: b: /s /e

下例使用/D:和/V开关:

xcopy a: b: /d:01/18/93 /s /v

此例中,仅将A盘上01/18/93或之后写入的文件拷贝到B盘。文件写到B盘后,XCOPY命令比较两个磁盘上的文件以确信它们完全一致。

可创建批程序来执行XCOPY操作,并且在有错误发生时使用批处理IF命令处理退出码。例如,下面的批处理程序使用可替换参数对应XCOPY的源和目标参数:

@echo off
rem COPYIT.BAT transfers all source
rem files in all directories on the source
rem drive (%1) to the destination drive (%2)

xcopy %1 %2 /s /e

if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit

:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax。
goto exit

要使用这个批程序将C:\PRGMCODE目录中的所有文件和子目录拷贝到B盘,可输入以下命令:

copyit c:\prgmcode b:

命令解释程序用C:\PRGMCODE代替%1,用B:代替%2,然后执行带有/E和/S开关的XCOPY命令。如果XCOPY发现错误,批处理程序就读退出码并转移到IF ERRORLEVEL语句指定的标号运行。MS-DOS显示相应的信息,然后退出该批处理程序。

回答2:

你用的是“内部”命令 copy
所有文件当然包括目录了,应该用“外部”命令 xcopy

xcopy d: e: /s/e

回答3:

返回主页

XCOPY

拷贝目录及其子目录和文件(除隐含和系统文件)。

使用这个命令,可以拷贝一个目录中的所有文件,包括该目录中的子目录的所有文件。

语法 :
XCOPY source [destination][/Y][/-Y] [/A|/M] [/D:date] [/P] [/S[/E]] [/V]
[/W]

参数 :

source
指定要拷贝的文件名和位置,必须包含驱动器或路径。

destination
指定拷贝的目标位置,可包含驱动器字母和冒号、目录名、文件名、或它们的组合。

开关 :

/Y
指定让XCOPY在替换原有文件时不进行确认。默认时,若目标文件已经存在,XCOPY会让你确认是否替换原有文件(MS-DOS的旧版直接覆盖原有文件)。若XCOPY命令在批处理文件中执行,则XCOPY以旧版本的方式操作,不进行安全性确认。 此开关覆盖所有默认值和COPYCMD环境变量的当前设置。

/-Y
指定让XCOPY在替换原有文件时进行确认。此开关覆盖所有默认值和COPYCMD环境变量的当前设置。

/A
只拷贝那些档案文件属性已设置的源文件。这个开关不修改源文件的档案属性。关于如何设置档案文件属性的信息,请参阅ATTRIB命令。

/M
拷贝档案文件属性已设置的源文件。和/A开关不同,/M开关关闭源文件的档案文件属性。关于如何设置档案文件属性的信息,请参阅ATTRIB命令。

/D:date
只拷贝在指定日期之后修改过的源文件。注意日期的标准格式取决于正在使用的COUNTRY设置。

/P
在创建每一个目标文件时提示确认该文件。

/S
拷贝目录和子目录,除非它们为空。如果忽略这一开关,XCOPY就只在单个目录内部工作。

/E
拷贝目录和子目录,即使它们为空。如果忽略这一开关,XCOPY就只在单个目录内部工作。

/V
每次写目标文件时,检验目标文件和源文件是否完全相同。

/W
在拷贝文件之前显示如下信息并等待回答:

按任意键开始文件拷贝。

相关的命令

关于拷贝单个文件的信息,请参阅命令。

关于拷贝磁盘命令的信息,请参阅命令。

XCOPY—注解

目标位置的默认值

如果省略了目标位置,XCOPY命令就将文件拷贝到当前目录下。

指定目标是文件还是目录

如果目标位置中不包含已存在的目录,并且没有用反斜杠(\)结束,XCOPY就提示如下格式的信息:

Does destination specify a file name
or directory name on the target
(F = file, D = directory)?

如果希望文件被拷贝到一个文件就按F;如果希望文件被拷贝到一个目录则按D。

设置COPYCMD环境变量

COPYCMD环境变量用于确定在执行COPY、MOVE和XCOPY命令时(不管是否以批命令的方式发出),若目标文件已存在,是否提醒用户进行确认。

若让COPY、MOVE和XCOPY命令在覆盖原有文件之前进行确认,则COPYCMD应设为/-Y;否则,应设为/Y。键入带开关/Y或/-Y的上述命令后,默认值和COPYCMD的当前设置均被覆盖。

XCOPY不拷贝隐含和系统文件

在老版本的MS-DOS中,XCOPY拷贝隐含和系统文件。在MS-DOS 6.22则不然。要去掉文件的隐含或系统属性,可使用命令。

XCOPY为目标文件设置档案属性

XCOPY创建的文件档案属性已设置,而不管源文件的这个属性中是否设置。关于文件属性的信息,请参阅ATTRIB命令。

XCOPY和DISKCOPY

如果要将一张带子目录(子目录中有文件)的磁盘拷贝到另一个不同格式的磁盘,应该使用XCOPY命令来代替DISKCOPY命令。因为DISKCOPY命令是逐道进行拷贝的,它要求源盘和目标盘具有同样的格式。而XCOPY却没有这一要求。在一般情况下,应使用XCOPY,除非需要完整的磁盘映像拷贝。但是,XCOPY不能拷贝隐含或系统文件,如IO.SYS和MSDOS.SYS。因此,使用DISKCOPY才能拷贝系统盘。

XCOPY的退出码

下面列出XCOPY的退出码及其简要描述:

0
文件拷贝没有发生错误。

1
没有文件要拷贝。

2
用户按CTRL+C终止XCOPY。

4
初始化错误。没有足够的内存或磁盘空间,或是命令行输入了非法的驱动器名或语法。

5
发生磁盘写错误。

可以用批处理文件中IF命令的ERRORLEVEL参数处理XCOPY的退出码。详细信息,请参阅主题。

XCOPY—例子

下例将A盘上的所有文件和子目录拷贝到B盘(包括所有的空子目录):

xcopy a: b: /s /e

下例使用/D:和/V开关:

xcopy a: b: /d:01/18/93 /s /v

此例中,仅将A盘上01/18/93或之后写入的文件拷贝到B盘。文件写到B盘后,XCOPY命令比较两个磁盘上的文件以确信它们完全一致。

可创建批程序来执行XCOPY操作,并且在有错误发生时使用批处理IF命令处理退出码。例如,下面的批处理程序使用可替换参数对应XCOPY的源和目标参数:

@echo off
rem COPYIT.BAT transfers all source
rem files in all directories on the source
rem drive (%1) to the destination drive (%2)

xcopy %1 %2 /s /e

if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit

:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax。
goto exit

要使用这个批程序将C:\PRGMCODE目录中的所有文件和子目录拷贝到B盘,可输入以下命令:

copyit c:\prgmcode b:

命令解释程序用C:\PRGMCODE代替%1,用B:代替%2,然后执行带有/E和/S开关的XCOPY命令。如果XCOPY发现错误,批处理程序就读退出码并转移到IF ERRORLEVEL语句指定的标号运行。MS-DOS显示相应的信息,然后退出该批处理程序。

回答4:

copy d:\> e:\