Rcp



在 Windows XP 计算机和运行 rshd，即远程解释器服务 (daemon) 的系统之间复制文件。Windows XP 和 Windows 2000 不支持 rshd 服务。如果不带参数使用，rcp 可以显示帮助。


语法



rcp [{-a | -b}] [-h] [-r] [Host][.User:][Source] [Host][.User:][Path\Destination]


参数



	-a

	指定 ASCII 传输模式。此模式将行尾符 (EOL) 转换为 UNIX 的回车符和个人计算机的回车符/换行符。这是默认的传送模式。

	-b

	指定二进制图像传输模式。没有执行回车/换行符转换。

	-h

	传输已标记为 Windows XP 计算机隐藏属性的源文件。否则，将不复制隐藏文件。

	-r

	将所有源子目录内容递归复制到目的地。

	Host

	指定本地或远程主机。如果 Host 指定为 IP 地址或如果主机名包含有点 (.)，则必须指定用户。

	User

	指定用户名。如果未指定用户名，则使用当前登录的用户名。

	Source

	指定要复制的文件。

	Path\Destination

	指定远程主机上登录目录的相对路径。请在远程路径中使用反斜线符号 (\)、引号 (") 或单引号 (‘) 转义字符，以便在远程主机上使用通配符。如果指定了多个源文件，则目的地是一个目录。

	/?
在命令提示符显示帮助。



注释


 第三方传输

rcp 命令（连接命令）也可用于第三方传输。可以在 Windows XP 计算机上运行 rcp 命令，以在另外两台运行 rshp 计算机之间复制文件。rshd daemon 是 UNIX 计算机提供的，所以 Windows XP 计算机只是作为运行命令的系统参加第三方传输。
    
	 使用 -r 参数
	
Source 和 Path\Destination 都必须是目录。然而，如果源不是目录，则可以使用不带递归的 -r。
    
	 使用 Source 和 Path\Destination 参数。
	
如果文件名不是以 UNIX 系统的正斜杠 (/) 或 Windows XP 的反斜杠 (\) 打头，则假定为相对于当前的工作目录。在 Windows XP 中，这是运行命令的目录。在远程系统中，这是远程用户的登录目录。句点 (.) 表示当前目录。可以在远程路径中使用反斜杠 (\)、引号 (") 或单引号 (‘) 转义字符，以便在远程计算机上使用通配符字符。
    
	 远程特权
	
 rcp 命令不提示输入密码。当前用户或指定用户必须位于远程计算机上并可以远程执行 rcp 命令。
    
	 .rhosts 文件
	
 .rhosts 文件指定哪个远程系统或用户可以使用 rsh 或 rcp 访问本地帐户。使用这些命令访问远程系统时需要该文件（或等同的 HOSTS 文件）。rsh 和 rcp 命令将本地用户名传输到远程系统。远程系统使用该名称和或请求系统的 IP 地址（通常解析为计算机名）来决定是否授予访问权。没有规定要指定密码才可以使用这些命令访问帐户。

 如果用户登录到域，则主域控制器必须可以解析该登录名，因为它没有缓存本地计算机上。因为用户名是 rsh 协议必要的一部分，如果不能获得用户名，该命令将无效。

 .rhosts 文件是一个文本文件，该文件中每一行为一个条目。条目由本地计算机名、本地用户名和有关该条目的所有注释组成。每个条目均由制表符或空格分开，注释用散列标记 (#) 打头，例如：

 computer5marie    #This computer is in room 31A

 .rhosts 文件必须在远程计算机的用户主目录中。有关远程计算机 .rhosts 文件特定执行的详细信息，请参阅远程系统的文档。

 此外，可以将计算机名添加到远程计算机上的 /Etc/Hosts 文件中。这样可以使远程系统利用 Windows XP TCP/IP 实用程序验证计算机的远程请求。
	
	 指定计算机（主机）
	
 使用 Computer.User 参数使用非当前用户的用户名。如果用 source 指定了 computer.user，远程计算机上的 .rhosts 文件必须包含 user 项，如下所示：

 rcp host99.user7:file1 corp7.admin:file2

 Host99 上的 .rhosts 文件在 corp7 上应当包含 user7 项。

 如果计算机名作为包含点的完整域名提供，则用户名必须附加到计算机名中，如前文所述。这样可以防止将域名的最后一个元素解析为用户名，如下所述：

 rcp domain-name1.user:user92  domain-name2.user:user7
	
	 远程处理
	
 远程处理由从大多数 UNIX 系统上的用户登录解释器运行的命令执行。用户配置文件或用户的 .cshrc 在解析文件名之前执行，并且可以在远程文件名中使用导出的解释器变量（使用转义字符或引号）。
	
	 正在复制文件
	
 如果要将多个文件复制到一个文件而不是目录，则只复制最后一个文件。rcp 命令不能将文件复制到自身（Source 和 Path/Destination 不能相同。）

 如果用户使用域而非本地计算机登录到 Windows XP Professional 计算机，且主域控制器无法使用，则该命令将因为 rcp 无法确定本地用户名而无效。该限制也适用于 rsh。
	
 只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时，该命令才可用。
    




范例



 要将本地文件复制到远程计算机的登录目录中，请键入：

 rcp filename remotecomputer:

 要将本地文件复制到远程计算机的现存目录中并重新命名，请键入：

 rcp filename remotecomputer:/directory/newfilename

 要将多个本地文件复制到远程登录目录的子目录中，请键入：

 rcp file1 file2 file3 remotecomputer:subdirectory/filesdirectory

 要从远程源复制到本地计算机的当前目录中，请键入：

 rcp remotecomputer:filename

 要将多个文件从多个远程源复制到使用不同用户名的远程目的地，请键入：

 rcp remote1.user1:file1 remote2.user2:file2 remotedest.destuser:directory

XOX



 
