Ir ao conteúdo
  • Cadastre-se
Robson Gomes Força

XCOPY Esta dando erro no sistema

Posts recomendados

Você não pode copiar de c:\ para c:\mp3 porque o destino fica dentro da Fonte o que gera Erro ciclico de cópia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas nessa pasta não tem arquivo MP3 e uma pasta que eu criei !!!

poderia ser outra pasta mas da o mesmo erro . isso não e nome de arquivo C:\MP3

e uma pasta vazia

 

 

adicionado 3 minutos depois

outro exemplo para você

outro.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sei, mais o que acontece é que quando você usa o parametro /s você especifica que quer copiar todas as mp3 de c:\ incluindo subpastas para c:\mp3 incluindo c:\mp3 copiando arquivos de c:\mp3 para c:\mp3 o que gera o erro.

 

Remova o parametro /s que vai dar certo.

adicionado 2 minutos depois

Isso é mais provável de dar certo: xcopy /c /s /i c:\*.mp3 d:\mp3

 

A pasta mp3 tem que estar em outra partição. E se tiver várias mp3 com o mesmo nome em C:\ elas podem ser sobreescritas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você está tentando fazer? copiar todas as mp3 de seu computador para essa pasta "mp3"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem sim,

Pode criar um bat. Você abre o bloco de notas, copia o código abaixo, cola no bloco de notas e salva como Copiar_mp3.bat, mais cuidado para deixar a codificação "Ansi". Ai é só clicar no bat e todas as mp3 serão copiadas para c:\mp3

 


@echo off
chcp 1252 > Nul 2>&1
if not exist c:\mp3 md c:\mp3
if exist %temp%\mp3.log del %temp%\mp3.log 

dir /a /s /b c:\*.mp3>> %temp%\mp3.log

for /f "usebackq delims=" %%a in ("%temp%\mp3.log") do (
if not exist "c:\mp3\%%~nxa" xcopy "%%a" "c:\mp3\" /c /i
)
pause

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ricardo_br  eu achava que era uma linha só e que quero colocar em um programa do python usando a função os.system mas com todas essas funções sera mais complicado !!

 

Por que quero que a pessoa digita o nome da pasta e ela entra não necessariamente MP3 apenas dei como exemplo . Mas vou colocar cada linha usando a função !!

adicionado 9 minutos depois

apesar de eu não saber da existência de alguns comandos eu entendi quase tudo desse arquivo de lote . So não entendi para que serve essa linha aqui

 

chcp 1252 > Nul 2>&1

Compartilhar este post


Link para o post
Compartilhar em outros sites

É se o destino não ficar dentro da fonte dos arquivos da para fazer como mencionado só usando uma linha com xcopy:

 

xcopy /i /c /f /y c:\*.mp3 d:\mp3

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ricardo_br  pelo que eu entendi esse usebackq ele verifica nomes grandes e coloca as aspas só não entendi por que tem que colocar %%a e depois esse %%~nxa ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem algum local que explica o que significa esses comandos avançados do MS-DOS se tem, tem como você me passar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode usar o comando for /? para ver o manual dele.

 

%%a é tipo uma váriável do For. Também poderia ser %%b, %%c, %%d ou a letra que você quiser.

 

A linha:

for /f "usebackq delims=" %%a in ("%temp%\mp3.log")

 

Analiza o arquivo %temp%\mp3.log linha por linha salvando cada linha na variável %%a. O arquivo mp3.log é uma lista com todas as *.mp3 que existem em c:\ que eu salvei lá com o comando dir.

 

por exemplo (mp3.log:):


c:\Users\Ricardo\Music\Faith No More - Sol Invictus\10 - From the Dead.mp3
c:\Users\Ricardo\Music\Foo Fighters - Concrete and Gold (2017)\01. T-Shirt.mp3
c:\Users\Ricardo\Music\Foo Fighters - Concrete and Gold (2017)\02. Run.mp3

 

Como ele passa cada linha para o %%a se o %%a for igual a:

c:\Users\Ricardo\Music\Faith No More - Sol Invictus\10 - From the Dead.mp3

O %%~nxa seria igual ao %%a porém contendo apenas o nome do arquivo + extensão

então %%~nxa:

10 - From the Dead.mp3

 

Então ele verifica se "10 - From the Dead.mp3" já existe em c:\mp3 e se não existir ele copia para lá (para não ter duplicadas).

 

%%~nx = Name eXtension seguido da variável

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ricardo_br  Muito obrigado o resto eu tinha pesquisado e entendido que esse %%a que você colocou e uma variavel

esse nx que eu não tinha entendido agora ficou esclarecido . Muito Obrigado

adicionado 3 minutos depois

@ricardo_br até aprendi mais coisas com as variaveis olha o que eu fiz

 

@echo off
chcp 1252 > Nul 2>&1
set /p extensao= "Digite uma extensão: "
set /p diretorio= "Digite a pasta de destino"
echo \%diretorio%
if not exist c:\%diretorio% md c:\%diretorio%
if exist %temp%\%diretorio%.log del %temp%\%diretorio%.log

dir /a /s /b c:\%extensao%>> %temp%\%diretorio%.log

for /f "usebackq delims=" %%a in ("%temp%\%diretorio%.log") do (
if not exist "c:\%diretorio%\%%~nxa" xcopy "%%a" "c:\%diretorio%\" /c /i
)


pause

 

agora eu digito a extensão que eu quero e a pasta de destino

Só não entendi essa linha da programação ainda chcp 1252 > Nul 2>&1?

Compartilhar este post


Link para o post
Compartilhar em outros sites

chcp 1252 > Nul 2>&1

 

É para digitar palavras com acento tipo: Você, não, apresentação

 

Se não tiver isso esses acentos saem todos bagunçados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

chcp quer dizer CHange Code Page. Você o usa seguido de um codigo de paginação de caracteres que o prompt de comando deve usar. O padrão nos Windows Português Brasileiro é 850.

DC37afc.jpg

 

Por padrão depois de usar chcp aparece uma mensagem na tela tipo: Página de código ativa: 850

 

Para que essa mensagem não apareça na tela eu adicionei "> Nul 2>&1" que faz com que o comando não exiba mensagens nem erros na tela. "Nul" é tipo um Buraco Negro do prompt de comando, tudo que você envia para lá desaparece e nunca mais é visto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ricardo_br  eu to ligado só que esse codigo que você colocou foi West European Latin, o nul sei o que significa por que pause > nul omite as mensagens também, mais o que significa esse 2 e esse &1 esse &1 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

2 encaminha mensagens de erro 1 encaminha mensagens de saida padrão.

 

Na verdade > Nul 2>&1 é uma maneira mais compacta de fazer isso: 2> Nul 1> Nul

 

Por exemplo:


@echo off
xcopy /i /c /s c:\*.mp3 c:\mp3 2>%userprofile%\desktop\erro.txt 1>%userprofile%\desktop\erro2.txt
pause

 

Vai mandar a mensagem de erro: "Não foi possível fazer cópias cíclicas" para erro.txt e a mensagem padrão "0 Arquivo(s) copiados" para erro2.txt

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah ta um é para mensagem e outro para saida de dados entendi

 

Só não entendi por que colocou o codigo 1252 West European Latin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelos meus testes esse foi que melhor funcionou com acentos brasileiros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ricardo_br Ah tá !!!

adicionado 1 minuto depois

@ricardo_br E se eu criasse uma unidade extendida e logica com o diskpart daria para usar o xcopy normal né já que e outra unidade né !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim daria certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

ebook grátis "Aprenda a ler resistores e capacitores", de Gabriel Torres

GRÁTIS! BAIXE AGORA MESMO!