Não consigo copiar para compartilhamento de rede no CMD


1

Estou tentando escrever um script simples para fazer backup de arquivos e diretórios específicos, mas parece que falha ao copiar para a unidade de rede. Eu já vi outros problemas semelhantes aconselhando o mapeamento da unidade usando o net use, mas nesses sistemas H:sempre já será montado (fico feliz por o script falhar nos casos em que a unidade não foi montada). Eu o isolei da seguinte linha, que também falha ao colar diretamente no CMD.

H:\>xcopy  "C:\Users\<user>\My Documents" "H:\<user>-backup-26022015\My Documents"  /s /c /d /e /h /i /r /y
Access denied
Unable to create directory - H:\<user>-backup-26022015\My Documents
File not found - *.*
0 File(s) copied

Alguma idéia do que estou fazendo de errado?


Uma coisa que eu não gosto é de ver o "C: \ Users \\". Há uma barra invertida extra lá. O que acontece se você usar: "Dir H:". Que tal "dir C: >> H: \ Output.txt" (diga-nos se esses comandos simples funcionam ou falham.) Mostre-nos: "net use H:" nesta máquina e "net share" no compartilhamento de máquinas o diretório e, especialmente, "net share myCustomShareName" na máquina que compartilha o diretório; que mostrará algumas configurações de permissões. Obviamente, desinfete (substitua quaisquer detalhes confidenciais por exemplos personalizados) antes de postar qualquer coisa aqui.
TOOGAM 26/02/2015

Respostas:


1

Suponho que você tenha deixado seu diretório inicial fora do caminho de propósito, portanto, verifique se ele está lá.

Tente o seguinte:

xcopy "C:\Users\%USERNAME%\Documents" "H:\-backup-26022015\My Documents" /c /d /e /h /i /r /y

Com o win7 e posterior, o diretório MyDocs não é mais chamado de "Meus Documentos", embora o explorer às vezes o exiba dessa maneira, mas esse nome não seja realmente válido, portanto a linha de comando requer o caminho como C: \ Users \% USERNAME% \ Documents. Embora a mensagem de erro se queixe de criar o caminho de destino, seu verdadeiro problema é o caminho de origem (confirmei isso com o teste).

Observe também que você está aninhando um diretório do My Docs dentro de outro, deixando uma barra à direita do parâmetro de origem e especificando o nome da pasta no destino, para que seus arquivos terminem em h: -backup-260215 \ Meus Documentos \ Meu Documentos. se você quiser consertar isso, adicione um '\ *' à direita no caminho de origem.


Obrigado, esse foi o problema. Estou um pouco confuso com seu outro comentário sobre o diretório que começa com um hífen. Não, <username> é apenas um espaço reservado para o nome de login, portanto o diretório começa com letras.
Bill

Eu estava me referindo a "H: \ - backup". É assim que me parece. Os sites StackExchange geralmente comem qualquer token com chaves de ângulo, então talvez você tenha digitado tokens que não estou vendo. para mim, parece que o nome da pasta de backup começa com '-'. Isso é legal e funcionará com muitos aplicativos, mas pode ser ilegal para outros. Não acredito que seja um nome legítimo para discos FAT32, mas o NTFS obviamente não tem problema com ele, pois testei seu cenário com esse nome de destino. Feliz por você fazer isso funcionar.
Frank Thomas

0

Como Frank disse, o erro ocorre porque "Meus documentos" é um link (ou pelo menos a implementação quebrada da Microsoft) não um diretório (como visto em dir /a). Verifique também icacls H:\se você possui direitos, também pode usar datas ISO (25-02-2015) para poder classificar corretamente ou, para backups, use ferramentas mais avançadas que o xcopy. consulte wikipedia.org/wiki/NTFS_symbolic_link

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.