Como posso obter um arquivo copiado de um local para outro local no mesmo servidor sem o eco?

0

É possível copiar um arquivo de um local para outro no mesmo servidor sem que o arquivo viaje do servidor para a estação de trabalho e retorne ao servidor. O cenário é a rede ponto a ponto do Microsoft Windows.

    
por Anthony 05.09.2011 / 17:36

3 respostas

2

Obviamente, se você estiver realmente conectado e emitindo um comando de cópia no próprio servidor, a operação de cópia não envolverá nenhuma estação de trabalho. ☺ Mas você parece estar perguntando sobre como instigar um comando de cópia de uma estação de trabalho , que copia dentro de um único servidor de arquivos e onde toda a operação de cópia é executada pelo próprio servidor (sujeita às permissões normais de acesso e adiante).

LAN Manager, LAN Server e CIFS

Não há como, agora, fazer isso. Costumava haver, no protocolo SMB, um comando para executar cópias do lado do servidor, onde nenhum dos dados copiados precisa viajar pela LAN. Foi SMB_COM_COPY .

Foi apenas exercitado por estações de trabalho executando o OS / 2. Aplicativos OS / 2 têm uma função DosCopy() da API do sistema disponível para eles eo redirecionador de rede do OS / 2 LAN Server no OS / 2 foi inteligente o suficiente para reconhecer quando um arquivo estava sendo copiado de um volume de rede remoto para um local diferente esse volume e encaminha toda a operação para o servidor.

Não há recursos reais para o exercício de SMB_COM_COPY em estações de trabalho que executam o MS-DOS ou o Windows NT. Não há nem mesmo uma chamada de sistema "copiar um arquivo inteiro" na API do MS-DOS (não estendida) para conectar-se. Como tal, a Microsoft decidiu abandonar essa parte do protocolo do NT LAN Manager, e uma transação CIFS com esse ID de comando agora simplesmente gera uma resposta de erro.

Netware

Existe uma maneira de fazer isso. Há uma transação de cópia de arquivo inteiro no protocolo Netware eo redirecionador de rede Netware para os / 2 foi inteligente como o redirecionador de rede do servidor LAN. Então, novamente, as estações de trabalho do OS / 2 iriam exercitar isso automaticamente, como aplicativos chamados DosCopy() para copiar arquivos.

Assim como no SMB / CIFS, não havia uma maneira real de conectar o mecanismo Netware ao MS-DOS para uso pelos aplicativos em geral. No entanto, existem extensões específicas do Netware para a API do MS-DOS. O cliente Netware para MS-DOS, portanto, veio com um comando NCOPY para o MS-DOS , que conhecia as extensões da API, as chamava e, portanto, pode executar cópias executadas pelo servidor (que também preservam os atributos do arquivo Netware) .

um comando ncopy para Linux que emite o mesmo comando do protocolo Netware. Existe - ai! - nada equivalente para o Windows NT e nenhuma maneira de usar esse recurso em uma estação de trabalho do Windows NT.

    
por 05.09.2011 / 20:22
0

Suponho que você esteja usando um script de arquivo bat , então seria assim:

@echo off
copy file1 file2

Se isso não resolver seu problema, forneça mais detalhes.

    
por 05.09.2011 / 17:50
0

Eu não acho que o Windows permitirá que você faça isso. Envolver-se-ia invocar o comando no servidor remoto que você não pôde ter a autoridade para fazer. No passado, para essas situações, geralmente eu terminalia o serviço no servidor e fazia a cópia a partir daí.

    
por 05.09.2011 / 17:59