Board logo

标题: [讨论]copy的一个疑问 [打印本页]

作者: lcazhj     时间: 2007-12-15 21:10    标题: [讨论]copy的一个疑问

在使用copy命令时用/a /b可以分别指定复制的文件的格式.

我想问下,在不指定这两个参数的情况是默认的是什么格式?
ascii格式 还是二进制格式??

谢谢
作者: no9ronaldo     时间: 2007-12-15 23:25
我也想问一下如何copy多个文件?
比如我要把c盘中的a.txt和b.txt复制到d盘中,用一个语句怎么写?
是copy c:\a.txt&b.txt d:\吗?
作者: lxmxn     时间: 2007-12-15 23:36
TO lcazhj:
根据测试之后的文件大小初步判断,默认应该是以ASCII方式复制的。
用类似“copy a.txt + b.txt c.txt”方式附加的文件,目标文件要比源文件的和多一个字节,而用“/b”参数时,目标文件的大小正好是源文件的大小之和。

TO no9ronaldo:
你这样写是不成的,可以分两次写,也可以用for循环来实现。
for %a in (C:\a.txt C:\b.txt) do @copy %a d:\

作者: Michael     时间: 2007-12-15 23:39
默认是源和目标文件每个字节都一样的二进制模式。

一个语句这样写,copy c:\a.txt d:\ & copy c:\b.txt d:\
作者: no9ronaldo     时间: 2007-12-16 00:10
版主写的循环在cmd里运行不成功啊?
作者: lxmxn     时间: 2007-12-16 01:39


  Quote:
Originally posted by Michael at 2007-12-15 23:39:
默认是源和目标文件每个字节都一样的二进制模式。

为什么?

我测试的怎么是ASCII模式?
作者: lxmxn     时间: 2007-12-16 01:40


  Quote:
Originally posted by no9ronaldo at 2007-12-16 00:10:
版主写的循环在cmd里运行不成功啊?

看看我运行的结果:
$ for %a in (C:\bbc.txt C:\bbd.txt) do @copy /y %a .\
已复制         1 个文件。
已复制         1 个文件。

$ dir /b *.txt
bbc.txt
bbd.txt

$

作者: no9ronaldo     时间: 2007-12-16 10:01


  Quote:
Originally posted by Michael at 2007-12-15 11:39 PM:
一个语句这样写,copy c:\a.txt d:\ & copy c:\b.txt d:\

原来是这样

[ Last edited by no9ronaldo on 2007-12-16 at 10:04 AM ]
作者: no9ronaldo     时间: 2007-12-16 10:05


  Quote:
Originally posted by lxmxn at 2007-12-16 01:40 AM:

看看我运行的结果:
[box=#000000]$ for %a in (C:\bbc.txt C:\bbd.txt) do @copy /y %a .\
已复制         1 个文件。
已复制         1 个文件。

$ dir /b *.tx ...

这样也运行成功了。
但为什么我把它复制在bat里就执行不了?
作者: no9ronaldo     时间: 2007-12-16 10:08
知道了,还要加一个%。
谢谢两位;)
作者: lcazhj     时间: 2007-12-16 10:49
请问版主 到底是ascii还是二进制的流文件呢
还有我建了个文件名为1的文件,1B,再用copy 1 /a 2 /b 时,为什么2这个文件是0B.
而其他的copy 1 /a 2 /a ;copy 1 /b 2 /a ;copy 1 /b 2 /b ;2的大小都是1B呢?
谢谢
作者: lxmxn     时间: 2007-12-17 02:38


  Quote:
Originally posted by lcazhj at 2007-12-16 10:49:
请问版主 到底是ascii还是二进制的流文件呢
还有我建了个文件名为1的文件,1B,再用copy 1 /a 2 /b 时,为什么2这个文件是0B.
而其他的copy 1 /a 2 /a ;copy 1 /b 2 /a ;copy 1 /b 2 /b ;2的大小都是1B呢?
谢谢

以上的说法你测试过了没有,怎么和我测试的结论都不同呢?
作者: lcazhj     时间: 2007-12-17 14:14
没有测试过,我怎么敢说呢
不行的话 这个问题先放放吧
谢谢了版主
作者: lxmxn     时间: 2007-12-17 14:20


  Quote:
Originally posted by lcazhj at 2007-12-17 14:14:
没有测试过,我怎么敢说呢
不行的话 这个问题先放放吧
谢谢了版主



  Quote:
还有我建了个文件名为1的文件,1B,再用copy 1 /a 2 /b 时,为什么2这个文件是0B.

你看我这个和你一样的结果么?

  Quote:
E:\Cmd\cutest\test>dir
驱动器 E 中的卷是 LEARN
卷的序列号是 84D4-9B08

E:\Cmd\cutest\test 的目录

2007-12-17  14:00    <DIR>          .
2007-12-17  14:00    <DIR>          ..
2007-12-17  14:01                 1 1
               1 个文件              1 字节
               2 个目录  1,455,321,088 可用字节

E:\Cmd\cutest\test>copy 1 /a 2 /b
已复制         1 个文件。

E:\Cmd\cutest\test>dir
驱动器 E 中的卷是 LEARN
卷的序列号是 84D4-9B08

E:\Cmd\cutest\test 的目录

2007-12-17  14:00    <DIR>          .
2007-12-17  14:00    <DIR>          ..
2007-12-17  14:01                 1 1
2007-12-17  14:01                 1 2
               2 个文件              2 字节
               2 个目录  1,455,316,992 可用字节

E:\Cmd\cutest\test>