Jump to content

Programa que entra em Diretório e copia tudo para o Diretório Anterior.


edummoreno

Recommended Posts

Olá, Tenho muitos diretórios com muitos arquivos que fiz de uma recuperação em um HD, estou desenvolvendo um fonte em C, e talvez envolva batch script, Basicamente

tenho um pasta Por Exemplo: Documentos\pasta1, Documentos\Pasta2,  esse batch ou programa em c entraria em cada pasta pegaria todos os arquivos da pasta e enviaria para o diretório anterior em Batch seria algo assim    @echo off  cd Pasta1 move * ..\ cd ..\  ele entra na pasta envia tudo para o diretório anterior  e volta, ai colocaria dentro de um loop que faria pasta1, pasta2, pasta3... etc, só que o ponto é precisaria criar um variável em batch ou em Linguagem C que gerasse todas as combinações possíveis de nomes, exemplo a b c, aa, ab, ac, ba, bb, bc, aaa, aab, aac ... e por ai vai gerando todas as combinações possíveis, assim ele tentaria entrar em todos os nomes possíveis até que em um momento sei lá na tentativa 10mil entraria na pasta doc, fazendo isso na força bruta de processamento, entendo que gerar todas as combinações possíveis com a Tabela ASCII por exemplo com um nome de tamanho 6 seria igual a 255 Fatorial, talvez nem seja viável isso... uma segunda opção seria dar um comando DIR e salvar todos os nomes das pastas numa variável e fazer isso, porém como sou iniciante tanto em c quanto em Batch script não sei bem como fazer isso. se você entende de C ou Batch se puder dar uma luz, ou conheça algum programa que já faça isso.

 

Link to comment
Share on other sites

  • Administrators

@edummoreno se entendi bem, você quer copiar todos os arquivos de uma pasta para uma pasta um nível acima. Neste caso, não precisa descobrir os nomes de arquivos com força bruta (tentar todas as possibilidades até acertar), nem mesmo entrar na pasta. A partir da pasta destino dos arquivos, você faz (em batch):

copy pasta1\*.* .
copy pasta2\*.* .

O “asterisco ponto asterisco” expande para todos os arquivos do diretório. Já o "ponto" significa "diretório atual".

Isso resolve seu problema?

Abraço!

Link to comment
Share on other sites

  • 3 weeks later...

é isso mesmo, até que e uma solução bem simples e inteligente, deu quase certo, mas o problema que ainda tenho que digitar o nome do diretório pasta1, pasta2 que foi só um exemplo, posso ter diretórios com nome jpg, bmp, e uns com uns nomes assim [0001].rebuilt, ou seja vários nomes, se eu digitar o nome exato da pasta ele vai mas esse que é o problema,

ao invés de

copy pasta1\*.* .

se tivesse algo assim hipotético assim

copy * \*.* .

onde o * pega todos os diretórios.

 

 

Edited by edummoreno
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...