Board logo

标题: 为何在纯DOS下无法运行xcopy命令? [打印本页]

作者: jcyncz     时间: 2006-6-16 23:29    标题: 为何在纯DOS下无法运行xcopy命令?

我的系统是windowsxp sp2,在c:\windows\system32下有一个xcopy文件,我把它烤到win98启动盘,用启动盘启动后确无法运行xcopy程序,我用的命令是:
xcopy c:\123\*.* g:\456/s。返回信息“....既非内部或外部命令,也非可运行程序或批处理文件”。请问这是怎么回事?
作者: Wengier     时间: 2006-6-16 23:35
“....既非内部或外部命令,也非可运行程序或批处理文件”显然非纯DOS下的提示。WinXP SP2中的XCOPY虽不能在DOS下直接运行的,但不可能是这样的提示。你真的是在纯DOS下运行的吗?这儿可以下载纯MS-DOS 7.10启动盘:

http://www.cn-dos.net/msdos71/msdos71b.zip
作者: jcyncz     时间: 2006-6-17 00:19
谢谢了
作者: jcyncz     时间: 2006-6-17 00:30
我后来在这个论坛里下载了个XCOPY,再用win98启动盘启动到纯DOS下,可以用这个命令,但唯一不足的是这个命令不支持长文件名。如果哪位有支持长文件名的XCOPY给小弟的话,本人不胜感激!
作者: Wengier     时间: 2006-6-17 01:36
请用下面的真正的纯DOS启动盘启动,启动后运行其中的XCOPY就可以完全支持中英文长文件名了:

http://cndos.l009.com/soft/doscp.zip
作者: jcyncz     时间: 2006-6-17 09:17
本人不胜感激,从这可以看出这里的管理很负责任。辛苦了!
作者: jcyncz     时间: 2006-6-17 09:29
请用下面的真正的纯DOS启动盘启动,启动后运行其中的XCOPY就可以完全支持中英文长文件名了:

http://cndos.l009.com/soft/doscp.zip
不行啊,下载后是个DOSP.IMG文件,无法用它制作启动盘,怎么办啊?
作者: Wengier     时间: 2006-6-17 13:07


  Quote:
Originally posted by jcyncz at 2006-6-17 09:29 AM:
请用下面的真正的纯DOS启动盘启动,启动后运行其中的XCOPY就可以完全支持中英文长文件名了:

http://cndos.l009.com/soft/doscp.zip
不行啊,下载后是个DOSP.IMG文件,无法用它制作启动盘,怎么办啊?

IMG文件本身就是标准的软盘镜像格式呀,怎么可能无法制作启动盘呢?用WinImage之类的就可以将它展开到软盘中成为启动软盘,或者也可以直接将它作为虚拟机的软盘镜像来启动,使用起来非常方便的。
作者: jcyncz     时间: 2006-6-17 20:40
IMG文件本身就是标准的软盘镜像格式呀,怎么可能无法制作启动盘呢?用WinImage之类的就可以将它展开到软盘中成为启动软盘,或者也可以直接将它作为虚拟机的软盘镜像来启动,使用起来非常方便的。

我下载了个WinImage,安装后制作成软盘启动,但里面的XCOPY只能复制一个文件哟,还不如我在这个论坛里下载的XCOPY,虽然不支持长文件名,但能烤贝完整,里面的文件和文件夹以及子目录里的内容都能复制。
作者: Wengier     时间: 2006-6-17 22:30


  Quote:
Originally posted by jcyncz at 2006-6-17 08:40 PM:
我下载了个WinImage,安装后制作成软盘启动,但里面的XCOPY只能复制一个文件哟,还不如我在这个论坛里下载的XCOPY,虽然不支持长文件名,但能烤贝完整,里面的文件和文件夹以及子目录里的内容都能复制。

可不是这样的吧,这个XCOPY可以正常复制整个文件和文件夹中的内容,完全没有问题的,而且比不支持长文件名的XCOPY的功能强得多。这个XCOPY我可是试过多次了,自己就在用,并没有发现这种问题,因此你的用法肯定有错误(提示:当觉得不能正常使用时,首先应想到的是自己的使用方法是否有误)。你可以把你的用法和结果帖上来,让我看看错误所在。
作者: jcyncz     时间: 2006-6-18 09:48
我的语法是:xcopy c:\123\*.* g:\456 /s
作者: jcyncz     时间: 2006-6-18 09:57
我电脑有C,D,E,F,G,C盘有个123文件夹,123里有三个文件和一个文件夹(里面5个文件),我想把它烤到G盘。语法格式:XCOPY C:\123\*.* G:\456 /S   
请帮我看一下是否正确。谢谢!
作者: Wengier     时间: 2006-6-18 09:57


  Quote:
Originally posted by jcyncz at 2006-6-18 09:48 AM:
我的语法是:xcopy c:\123\*.* g:\456 /s

那你输入这条命令后显示什么信息?G:\456这个目录存在吗?
作者: jcyncz     时间: 2006-6-18 10:02
G盘不存在456文件夹,是用这个语法创建的一个456文件夹,输入后提示:是按F或是D,我按的是D ,结果只复制了一个文件。
作者: Wengier     时间: 2006-6-18 10:16
我刚才试着模拟了一下你的环境(使得C:\123文件夹下包含一些带有长文件名的RMI文件,同时D:\456文件夹尚不存在),并把你的命令本身试了一下,结果如下:

A:\>XCOPY C:\123\*.* D:\456 /S
Does 456 specify a file name
or directory name on the target
(F = file, D = directory)?D
Mozart's Symphony No. 40.RMI
Bach's Brandenburg Concerto No. 3.RMI
Beethoven's Fur Elise.RMI
Beethoven's 5th Symphony.RMI
In the Hall of the Mountain King.RMI
Debussy's Claire de Lune.RMI
Dance of the Sugar-Plum Fairy.RMI
        7 File(s) copied

A:\>

复制的内容完全正常。你有屏幕截图吗?
作者: jcyncz     时间: 2006-6-18 10:26
123文件夹下还有文件夹哟(且有内容),我没有屏幕截图。麻烦你再试一下吧。
作者: jcyncz     时间: 2006-6-18 10:30    标题: 我把这个XCOPY传上来您帮看一下

我把从winimage展开的DOSCP里提出的XCOPY上传过来。请帮我看一下这个XCOPY是否正常,最好您用我上传上来的这个XCOPY做一下试验。谢谢了!
附件 1: XCOPY.rar (2006-6-18 10:30, 6.93 K, 下载附件所需积分 1点 ,下载次数: 44)

作者: Wengier     时间: 2006-6-18 10:39


  Quote:
Originally posted by jcyncz at 2006-6-18 10:26 AM:
123文件夹下还有文件夹哟(且有内容),我没有屏幕截图。麻烦你再试一下吧。

文件夹下还有文件夹和文件可不是什么问题哦。我现在C:\toolkit文件夹中包含展开后的PowerQuest Deploy Toolkit整个软件包,里面有许多文件和文件夹(包括长文件名)。现将它复制到D:\456文件夹中。D:\456文件夹尚不存在(之前的已删除),我用XCOPY命令行参数/I直接将D:\456作为自动创建并复制的目标文件夹(免得到时候提示时还要输入D),同时指定/E参数(即也复制空文件夹)、/H参数(即也复制隐藏文件)。现输入以下命令:

A:\>XCOPY C:\toolkit\*.* D:\456 /S/E/H/I
Deploy Toolkit manual.pdf
PARTINFO\Dos\PartInfo.exe
PARTINFO\Linux\PartInfo
PARTINFO\Win\PartIn9x.exe
PARTINFO\Win\PartInNT.exe
PQA\Dos\PqaBldD.exe
PQA\Dos\PqaBldD.rtc
PQA\Dos\PqaDplyD.exe
PQA\Dos\PqaDplyD.rtc
PQA\Linux\pqabuild
PQA\Linux\pqabuild.rtc
PQA\Linux\pqadeploy
PQA\Linux\pqadeploy.rtc
PQA\Win\PqaBuild9x.exe
PQA\Win\PqaBuild9x.rtc
PQA\Win\PqaBuildNt.exe
PQA\Win\PqaBuildNt.rtc
PQA\Win\PqaDeploy9x.exe
PQA\Win\PqaDeploy9x.rtc
PQA\Win\PqaDeployNt.exe
PQA\Win\PqaDeployNt.rtc
PQACCESS\Dos\PqAccD.exe
PQACCESS\Dos\PqAccD.rtc
PQACCESS\Linux\pqaccess
PQACCESS\Linux\pqaccess.rtc
PQACCESS\Win\PQAccess9x.exe
PQACCESS\Win\PQAccess9x.rtc
PQACCESS\Win\PQAccessNT.exe
PQACCESS\Win\PQAccessNT.rtc
PQDISK\Dos\PqDisk.exe
PQDISK\Linux\PqDisk
PQDISK\Win\PqDisk9X.exe
PQDISK\Win\PqDiskNT.exe
PQDISK\Win\PQVXD.vxd
PQIDEPLOY\Dos\PQIDplyD.exe
PQIDEPLOY\Dos\PQIDplyD.rtc
PQIDEPLOY\Linux\pqideploy
PQIDEPLOY\Linux\pqideploy.rtc
PQIDEPLOY\Win\PQIDeploy.exe
PQIDEPLOY\Win\PQIDeploy.rtc
PQIEXTRACT\Dos\PqiExtD.exe
PQIEXTRACT\Dos\PqiExtD.rtc
PQIEXTRACT\Linux\pqiextract
PQIEXTRACT\Linux\pqiextract.rtc
PQIEXTRACT\Win\PqiExt9x.exe
PQIEXTRACT\Win\PqiExt9x.rtc
PQIEXTRACT\Win\PqiExtNT.exe
PQIEXTRACT\Win\PqiExtNT.rtc
PQQUERY\Dos\PqQuery.exe
PQQUERY\Win\PqQuery32.exe
PTEDIT\Dos\PtEditD.exe
PTEDIT\Win\PQBOOT32.exe
PTEDIT\Win\PtEdit32.exe
VBE\CALDERA.MBR
VBE\PQVXD.vxd
VBE\REBOOT.COM
VBE\restrmbr.exe
VBE\SAMPLE.VFD
VBE\VFile.exe
VBE\VFileX.exe
VBE\vfinst9x.exe
VBE\VFINSTD.EXE
VBE\VFInstNT.dll
VBE\VFInstNT.exe
VBE\VFLOPPY.SYS
VBE\VFLPPYLD.SYS
VBE\VFRSTMBR.COM
VBE\Linux\vfinstlx
       68 File(s) copied

A:\>

结果完全正常!
作者: jcyncz     时间: 2006-6-18 10:50
站长,您用过我上传的XCOPY这个程序吗?麻烦您试一下我传过来的这个XCOPY吧,看是不是我这个XCOPY不正常啊!谢谢
作者: Wengier     时间: 2006-6-18 10:52


  Quote:
Originally posted by jcyncz at 2006-6-18 10:50 AM:
站长,您用过我上传的XCOPY这个程序吗?麻烦您试一下我传过来的这个XCOPY吧,看是不是我这个XCOPY不正常啊!谢谢

我刚才用FC做过二进制比较,看起来是一样的。。要不你可以再试试其它文件夹,看看如何。另外请留意有没有什么出错信息。
作者: jcyncz     时间: 2006-6-18 11:08
我也试过其它文件夹,都是一样,您最好用我上传的这个XCOPY在纯DOS下做下试验,烤几个文件夹又有文件夹的试验。还有我怀疑是我这个XCOPY这个程序不正常,麻烦您是不是把您的XCOPY给我传过来用一下,看能不能正常使用?谢谢了
作者: Wengier     时间: 2006-6-18 11:16
已试过了,完全正常。而且文件是完全相同的,所以与文件本身肯定无关。你复制时难道没有看到任何出错信息么?
作者: jcyncz     时间: 2006-6-18 11:19
站长,没有出错信息啊,并且也能复制,只不过复制过来的是一个文件————xls,其下的文件夹没有复制过来。
作者: Wengier     时间: 2006-6-18 11:20
你试过我上面所用的参数吗(比如/S/E/H/I)?
作者: jcyncz     时间: 2006-6-18 11:22
复制过来的文件是一长横线,后面带的是XLS,就像这样的:————xls。并且没有任何出错信息。不知是怎么回事。
作者: jcyncz     时间: 2006-6-18 11:26
/S/E/H/I,这个参数我到没用过,我用的是/s.我再去试一下。谢谢了
作者: jcyncz     时间: 2006-6-18 11:45
我又去试了一下你给的参数/s/e/h/i。还是不行,显示的是:
--------BOOK.XLS
-------.XLS
Error copying file c:\123\-------.XLS to G:\456\--------.xls
Msg id:00000002
1 File(s) copied
A:\﹥
不过我复制的是中文文件和中文文件夹。
作者: Wengier     时间: 2006-6-18 11:52


  Quote:
Originally posted by jcyncz at 2006-6-18 11:45 AM:
Error copying file c:\123\-------.XLS to G:\456\--------.xls
Msg id:00000002

这个不就是出错信息么?可见是复制中发生错误而导致停止,而并非无缘无故就不能复制,这是完全不同的。有了这个,对问题进行定位就容易多了。中文文件和中文文件夹也是可以正常复制的(刚才我也已确认过),但你的文件名被显示为下划线而非中文则说明你的中文长文件名代码页没有被正确加载(这就跟XCOPY无关了,而是长文件名代码页的问题)。你先试着复制一个没有中文文件和中文文件夹的目录,如无问题再去试着解决中文长文件名代码页问题以复制中文文件夹。
作者: jcyncz     时间: 2006-6-18 11:56
这个怎么解决啊:中文长文件名代码页没有被正确加载,长文件名代码页的问题。但我用在这个论坛下载的一个XCOPY复制一切正常,只是中文文件名不能显示完整,这个长文件名代码问题怎么解快?请帮帮我,谢谢!

[ Last edited by jcyncz on 2006-6-18 at 12:00 ]
作者: Wengier     时间: 2006-6-18 12:01


  Quote:
Originally posted by jcyncz at 2006-6-18 11:56 AM:
这个怎么解决啊:中文长文件名代码页没有被正确加载,长文件名代码页的问题。请帮帮我,谢谢

[ Last edited by jcyncz on 2006-6-18 at 11:57 ]

我不是说让你先复制一下英文文件夹来测试一下吗?问题最好一个一个的来解决。等英文没问题后再来解决中文的。论坛之前另一个XCOPY不支持长文件名,故只能使用短文件名,两者的储存方式根本不同,所以完全是另一回事,不应混为一谈。
作者: jcyncz     时间: 2006-6-18 12:16
站长,英文的完全得行。现在只是中文的了,怎么解快啊?谢谢您!
作者: Wengier     时间: 2006-6-18 12:18


  Quote:
Originally posted by jcyncz at 2006-6-18 12:16 PM:
站长,英文的完全得行。现在只是中文的了,怎么解快啊?谢谢您!

你在DOS下输入MEM /C,然后把其结果帖上来让我看看并分析一下。
作者: jcyncz     时间: 2006-6-18 12:36
我是在“运行”里输入CMD后,再运行的:MEM /S。不知行不行?搞的个QQ屏幕截图,我上传上来,帮我看一下是哪里的问题,谢谢!
附件 1: {E83409FC-7DC9-46AC-BC10-B4B193EE5DB1}1.jpg (2006-6-18 12:36, 47.18 K, 下载附件所需积分 1点 ,下载次数: 2)



作者: Wengier     时间: 2006-6-18 12:43


  Quote:
Originally posted by jcyncz at 2006-6-18 12:36 PM:
我是在“运行”里输入CMD后,再运行的:MEM /S。不知行不行?搞的个QQ屏幕截图,我上传上来,帮我看一下是哪里的问题,谢谢!

不对啊,我不是让你用那个DOS启动盘启动到纯DOS下来运行MEM /C并吗?你在CMD中运行又有什么用?如果你不会在纯DOS下截图的话,请输入MEM /C >C:\FILE.TXT,然后把C:\FILE.TXT中的内容帖上来。
作者: jcyncz     时间: 2006-6-18 13:48
首先真诚地说一声:谢谢您了。我用您说的方法把它贴上来:

Modules using memory below 1 MB:

  Name           Total           Conventional       Upper Memory
  --------  ----------------   ----------------   ----------------
  SYSTEM      29,872   (29K)     10,848   (11K)     19,024   (19K)
  HIMEM        1,120    (1K)      1,120    (1K)          0    (0K)
  EMM386       4,320    (4K)      4,320    (4K)          0    (0K)
  DOSKEY       3,968    (4K)      3,968    (4K)          0    (0K)
  VIDE-CDD     5,024    (5K)          0    (0K)      5,024    (5K)
  IFSHLP       2,864    (3K)          0    (0K)      2,864    (3K)
  COMMAND      7,424    (7K)          0    (0K)      7,424    (7K)
  KILLER         400    (0K)          0    (0K)        400    (0K)
  SHSUCDX      5,808    (6K)          0    (0K)      5,808    (6K)
  DOSLFN      19,312   (19K)          0    (0K)     19,312   (19K)
  Free       635,120  (620K)    634,976  (620K)        144    (0K)

Memory Summary:

  Type of Memory       Total         Used          Free
  ----------------  -----------   -----------   -----------
  Conventional          655,360        20,384       634,976
  Upper                  60,000        59,856           144
  Reserved                    0             0             0
  Extended (XMS)    267,261,344       509,344   266,752,000
  ----------------  -----------   -----------   -----------
  Total memory      267,976,704       589,584   267,387,120

  Total under 1 MB      715,360        80,240       635,120

  Largest executable program size         634,880   (620K)
  Largest free upper memory block             144     (0K)
  MS-DOS is resident in the high memory area.
作者: Wengier     时间: 2006-6-18 13:54
看来果然如此,我已知道原因了,即你的UMB内存太小,导致DOSLFN未能有足够的UMB内存来装载中文代码页而导致中文代码页加载失败。请修改A:\AUTOEXEC.BAT文件,将其中的LH DOSLFN前面的LH去掉即可。
作者: jcyncz     时间: 2006-6-18 18:08
按照您说的,我修改了,终于成功了。
历害,我算服了您了,懂得那么多,从您这里我学到了不少的东西,真是无以言表,只能说一声谢谢您了!
还有我想问一下,在这台机子是成功了,在别人的机子上是不是也要修改后才能正常复制呢?除了这个问题还会不会出别的什么问题?
作者: Wengier     时间: 2006-6-18 23:03


  Quote:
Originally posted by jcyncz at 2006-6-18 06:08 PM:
按照您说的,我修改了,终于成功了。
历害,我算服了您了,懂得那么多,从您这里我学到了不少的东西,真是无以言表,只能说一声谢谢您了!
还有我想问一下,在这台机子是成功了,在别人的机子上是不是也要修改后才能正常复制呢?除了这个问题还会不会出别的什么问题?

不用谢。

在大多数的电脑上其实是不用修改就可以正常使用的。只有在少数电脑上由于UMB内存过小(只有60KB左右)才需要修改,不过一旦修改即可在所有电脑上正常使用,不会有其它问题。
作者: jcyncz     时间: 2006-6-19 17:50
谢谢您了。
还有一个问题,就是我把这个支持长文件名的XCOPY烤到其它启动盘里不能用,而我先前在这个论坛里下载的不支持长文件名的XCOPY不论烤到哪个启动盘都能用,也就是说这个支持长文件名的XCOPY兼容性不好,只有在您发的这个纯MS-DOS 7.10启动盘才能用,这是为什么呢?
作者: Wengier     时间: 2006-6-19 20:55


  Quote:
Originally posted by jcyncz at 2006-6-19 05:50 PM:
谢谢您了。
还有一个问题,就是我把这个支持长文件名的XCOPY烤到其它启动盘里不能用,而我先前在这个论坛里下载的不支持长文件名的XCOPY不论烤到 ...

这不是兼容性问题,而是其它原因。你为什么想把它拷到其它启动盘中呢?直接用这个纯DOS启动盘或在它的基础上进行修改做成自己的启动盘不就可以了?毕竟这是兼容性最好的纯DOS启动盘。
作者: jcyncz     时间: 2006-6-19 23:47
谢谢,辛苦站长了。
作者: xiaolin     时间: 2007-9-6 21:02
受益非浅
作者: xiaolin     时间: 2007-9-6 21:04
我的机子没软驱,请问怎么搞虚拟机啊?
作者: xiaolin     时间: 2007-9-7 01:39
我的电脑装了上述的虚拟软驱后,有windowsXP SP2;矮人DOS工具箱;从虚拟软驱启动三个选项,可启动到纯DOS,但修改autoexec 或config后重新镜像虚拟,就不能启动,总是重新回到启动选择界面.急.
作者: shirui     时间: 2007-9-25 09:39
我也是用不了XCOPY
作者: yuan53770     时间: 2007-11-9 21:27
菜菜问一下,LH DOSLFN中的LH是什么意思?有什么用的?
作者: pumaadams     时间: 2007-12-3 16:06
关注!
作者: gongjun2046     时间: 2007-12-4 15:13
好人高手!
作者: porsia     时间: 2008-5-10 14:34    标题: ok

It is a good ideal.
作者: ruanjiaoxia     时间: 2008-5-15 11:45
向大家学习~真厉害~这个论坛真棒,很荣幸加入
作者: hpick     时间: 2010-1-14 21:40
很怀念白底黑字时代。虽然渐渐淡去了,却因要古老数据再回来。陌生而新鲜,看了站长热心回复,受用之至……
作者: java1049     时间: 2010-4-23 10:19
感謝分享
作者: smalllion4     时间: 2010-5-31 12:04
好文章,收藏了
作者: ayumichan     时间: 2010-8-16 04:11
我还不能回复吗?
作者: ayumichan     时间: 2010-8-16 04:15
没软驱要怎么弄呢?
作者: huoyan     时间: 2010-10-23 13:21
不知这个行不行 晕死了