如何才能将文件从同一台服务器上的一个位置复制到另一个位置而不产生回显

如何才能将文件从同一台服务器上的一个位置复制到另一个位置而不产生回显

是否可以将文件从同一台服务器上的一个位置复制到另一个位置,而无需将文件从服务器传输到工作站然后再传输回服务器。该场景是 Microsoft Windows Vista 对等网络。

答案1

显然,如果你实际登录并在服务器本身上发出复制命令,则复制操作不涉及任何工作站。☺ 但你似乎在问如何发起复制命令从工作站,在单个文件服务器内进行复制,整个复制操作由服务器本身执行(受正常访问权限等的约束)。

LAN 管理器、LAN 服务器和 CIFS

现在没有办法做到这一点。以前,在 SMB 协议中有一个用于执行服务器端复制的命令,其中复制的数据不需要通过 LAN 传输。SMB_COM_COPY

它只在运行 OS/2 的工作站上使用过。OS/2 应用程序具有DosCopy()可用的系统 API 函数,并且 OS/2 中的 OS/2 LAN 服务器网络重定向器足够聪明,可以识别何时将文件从远程网络卷复制到该卷上的其他位置,并将整个操作转发到服务器。

在运行 MS-DOS 或 Windows NT 的工作站中,还没有真正的能力可供使用SMB_COM_COPY。在(未扩展的)MS-DOS API 中甚至没有“复制整个文件”系统调用可供挂接。因此,微软决定从 NT LAN Manager 中删除该部分协议,现在具有该命令 ID 的 CIFS 事务只会生成错误响应。

网络软件

有一种方法可以做到这一点。Netware 协议中有一个完整的文件复制事务,而 OS/2 的 Netware 网络重定向器与 LAN Server 网络重定向器一样聪明。因此,OS/2 工作站将自动执行此操作,因为应用程序被调用来DosCopy()复制文件。

与 SMB/CIFS 一样,没有真正的方法将 Netware 机制引入 MS-DOS 以供一般应用程序使用。但是,MS-DOS API 有特定于 Netware 的扩展。因此,MS-DOS 的 Netware 客户端附带NCOPYMS-DOS命令,它知道 API 扩展,并调用它们,因此可以执行服务器执行的复制(还保留了 Netware 文件属性)

ncopyLinux命令发出相同的 Netware 协议命令。可惜的是,Windows NT 没有等效命令,而且无法从 Windows NT 工作站使用此功能。

答案2

我假设您正在使用bat文件脚本,因此它将是这样的:

@echo off
copy file1 file2

如果这不能解决您的问题,请提供更多详细信息。

答案3

我认为 Windows 不会允许您这样做。这将涉及您在远程服务器上调用命令,而您可能没有权限执行此操作。过去,对于这些情况,我通常会将终端服务连接到服务器并从那里进行复制。

相关内容