Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Silvaninha

[Resolvido] copiar um arquivo para várias subpastas

Recommended Posts

Pessoal,

 

Tenho a seguinte estrutura de diretórios:

 

- pasta1

|

subpasta1 a - sub subpasta a - index.asp

|

subpasta1 b - sub subpasta b - index.asp

|

subpasta1 c - sub subpasta c - index.asp

 

O arquivo index.asp está dentro de uma pasta, que está dentro de outra pasta que está dentro da pasta1.

 

O que acontece é que esse arquivo index.asp é o mesmo para todas as sub subpastas.

 

Queria escrever um script que copiasse o arquivo index.asp e gravasse em cima de cada uma dessas index.asp.

 

É possível? Alguma idéia?

 

 

P.S. preciso fazer um script porque são muiiiiitas pastas assim...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia usar um arquivo .bat

cd C:
copy C:Pasta\index.asp C:Pasta\Subpasta1A\SubpastaA\
copy C:Pasta\index.asp C:Pasta\Subpasta1A\SubpastaB\
copy C:Pasta\index.asp C:Pasta\Subpasta1A\SubpastaC\

salve no diretório C: com o nome copia.bat depois só dá dois clicks no arquivo e ele irá criar automaticamente.

Espero ajudar

Até +

Compartilhar este post


Link para o post
Compartilhar em outros sites

A dica do Daniel1 só deve funcionar se você possuir acesso local ao computador.

 

Outra alternativa pode ser o FSO (File System Object) onde poderia criar uma rotina de acesso as pastas e criação do arquivo.

 

Para saber mais sobre fso, recomendo este link.

 

No laboratório de scripts também tem alguns exemplos de utilização de fso, pode ser um bom ponto de partida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu gente!!!

 

O problema da opção do Daniel é que teria que escrever todas as pastas no arquivo bat, além de não ter acesso ao servidor, não dessa forma.

 

Queria evitar ter que digitar o nome das pastas porque esses nomes variam e são (pasmem!) milhares...

 

Vou dar uma estudada e depois volto aqui em caso de dúvidas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui gente!

 

Valeu pelas indicações.

 

Caso alguém precise um dia... fiz um sub chamando outro sub para poder ler as subpastas das subpastas.

A impressão é só para saber onde ele moveu :-)

 

segue o código

 

<%
Sub ListFolder(path)
Set FSObj = Server.CreateObject("Scripting.FileSystemObject")
Set FolderObj = FSObj.GetFolder(path)
  for each item in FolderObj.SubFolders
          ListSub(item.Path)
  next
end sub	


Sub ListSub(path)
Set FSObj = Server.CreateObject("Scripting.FileSystemObject")
Set FolderObj = FSObj.GetFolder(path)

For Each Item in FolderObj.SubFolders
 Response.Write("- " & Item & "<br>") 

FSObj.CopyFile "D:\Inetpub\wwwroot\site\index.asp",Item & "\" 

Next
end sub	

call ListFolder("D:\Inetpub\wwwroot\site\diretorio") 
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que resolveu !!

 

Apenas a titulo de curiosidade, você pode trocar o trecho onde aponta o caminho fisico do site para o relativo, usando ServerMapPatch, não sei se funcionaria como desejado, mas vendo o seu código, lembrei dessa possibilidade também.

 

A vantagem seria para caso não se saiba o caminho fisico, ou para caso precisar de um script que possa rodar (caso funcione) em qualquer servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos, sou novo por aqui e também não tenho muito conhecimento de scripts, mas gostaria de perguntar como posso aplicar este método para utilizar localmente em vários diretórios de uma máquina... Eu preciso copiar três arquivos em diversas pastas que estão num mesmo diretório, aproximadamente 900 diretórios... estou fazendo manualmente, se poderem me ajudar fico muito grato.

 

 

Um abraço

 

Marcelo "Sushi" Zanatta.

 

"O Conhecimento e a Cultura só tem valor quando compartilhados."

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use FSO, tem exemplos que postei no fórum , dê uma pesquisada

 

E como esse post é antigo, dá próxima vez, para um melhor suporte e maior agilidade nas respostas, crie um tópico novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.