Tips - Copiando um conjunto de arquivos de uma pasta para outra usando o VBA









































Copiando um conjunto de arquivos de uma pasta para outra usando o VBA com comandos de DOS*


DOS (Disk Operating System) é um sistema operacional bastante antigo, lançado na década de 1980. Apesar da "idade", muitas de suas funcionalidades têm aplicação até nos dias de hoje. Sua utilização se baseia, essencialmente, em linhas de comandos, isto é, na digitação de instruções por parte do usuário. 


Para nós, da velha guarda, não há nada como usar o velho e bom prompt# de comando. Isso dá uma satisfação danada para qualquer programador, que consegue transitar movendo-se em torno dos arquivos, digitando alguns comandos no DOS.



# Uma expressão bastante comum relacionada ao DOS é o prompt de comando. Como o DOS é um sistema baseado na execução de comandos digitados pelo usuário. O prompt, portanto, é o sinal de prontidão do sistema, pois indica que o computador, naquele momento, está apto a receber instruções, isto é, os comandos que o usuário pode digitar. O prompt também indica sua localização, ou seja, em que partição (unidade de armazenamento) e pasta está trabalhando naquele instante. Veja o exemplo:



C:\Bernardes>_


A linha acima indica que o sistema está, no momento, considerando a unidade C:\, na pasta Bernardes. Ao lado do sinal '>' há um "traço" que pisca constantemente, chamado cursor. Esse caractere informa em que ponto da tela vão aparecer as instruções que o usuário digitar.


O que segue é um código simples, que move todos os arquivos de uma pasta para outra usando XCOPY. Podemos usar todas as opções de XCOPY com o VBA.

Sub Copy_Bunch_Of_Files()

Shell "cmd /c xcopy /y c:\temp\*.* C:\Temp\Backup"

End Sub


Seguem outros comando do DOS:


RMDIR ou RD

Comando que remove um diretório a partir da unidade corrente. O diretório somente será eliminado se não houver nenhum arquivo ou pasta em seu interior. Exemplos:


C:\>rd Bernardes\hardware - remove o diretório hardware de Bernardes.


C:\>rd Bernardes - remove o diretório Bernardes.


TREE

Comando que exibe graficamente a árvore de diretórios a partir do diretório-raiz para que o usuário tenha a organização hierárquica do seu disco. Esse comando pode conter algumas variações baseadas em parâmetros:


/F - exibe a árvore de diretórios mostrando também os arquivos existentes dentro deles;


/A - instrui o comando tree a usar ASCII em vez de caracteres estendidos.


Exemplo:


C:\>tree /f


CHKDSK

Comando que checa a integridade e as especificações do disco mostrando informações sobre este na tela, por exemplo:


C:\>chkdsk: - checa o disco rígido C:\.


MEM

Digite mem no prompt e informações atuais sobre a memória do computador serão exibidas.


RENAME ou REN

Comando que permite ao usuário alterar o nome de um arquivo. Basta digitar rename (ou ren) seguido do nome atual do arquivo e, depois, a denominação que este deverá ter. Se o arquivo em questão não estiver no diretório atual, basta informar seu caminho antes. Exemplos:


C:\>ren homer.doc bart.doc - muda o nome do arquivo de homer.doc para bart.doc.


Também é possível utilizar o caractere * (asterisco) para, por exemplo, renomear extensões de arquivos:


C:\>ren *.jpg *.gif - esta instrução altera a extensão de todos os arquivos do diretório atual que terminam em .jpg.


COPY

Comando que copia um arquivo ou grupo de arquivos de uma pasta para outra. Para isso, o usuário deve digitar o comando copy mais sua localização atual e, em seguida, seu caminho de destino. Por exemplo, para mover o arquivo Bernardes.doc de c:\hardware\ para d:\artigos\ basta digitar:


C:\>copy c:\hardware\Bernardes.doc d:\artigos


Note que, com este comando, também é possível utilizar asterisco (*) para substituir caracteres. Por exemplo:


C:\>copy c:\*.doc c:\Posts\software - esse comando copia todos os arquivos que terminam em .doc de C:\ para C:\Posts\software.


DISKCOPY

Comando que permite copiar o conteúdo de um disquete para outro de igual capacidade. Para copiar, por exemplo, o conteúdo do disco representado pela unidade A para a unidade B, basta digitar:


C:\>diskcopy a: b:


É possível checar se a cópia foi realizada com sucesso digitando o parâmetro /V no final do comando:


C:\>diskcopy a: b: /v


É importante frisar que este comando não funciona para cópias de conteúdo de discos rígidos.


XCOPY

Comando utilizado para copiar arquivos e árvores de diretórios com base em determinados critérios. Estes podem ser determinados pelos seus parâmetros. Eis alguns:


/D - copia arquivos que foram alterados a partir de uma data que o usuário deve informar logo após o parâmetro. Se a data não for inserida, apenas arquivos modificados a partir da data de alteração do local de destino é que serão copiados;


/P - solicita confirmação ao usuário antes de copiar cada arquivo;


/S - copia diretórios, desde que não estejam vazios. Para diretórios nesta última condição, basta informar /E /S;


/U - copia apenas arquivos que já existem no diretório de destino.


Exemplo:


C:\>xcopy /e /s c:\Bernardes d:\ - copia o diretório Bernardes para a unidade D:\.


Esse comando possui vários parâmetros. Digite xcopy /? para conhecer todos.


MOVE

Comando que tem duas funções: renomear diretórios ou mover arquivos de uma pasta para outra. Exemplos:


C:\>move A B - renomeia o diretório A presente em C:\ para B.


C:\>move d:\aula *.* e:\ - faz a movimentação de todos os arquivos presentes em D:\aula para a unidade E:\, deixando assim o diretório D:\aula vazio.


TYPE

Comando que tem a função de exibir o conteúdo de determinado arquivo, quando possível. Por exemplo:


C:\>type config.sys - exibe o conteúdo do arquivo config.sys na tela.


FORMAT

Comando que executa a formatação do disco rígido ou de uma partição deste, isto é, em poucas palavras, prepara a unidade para uso. É importante frisar que se uma unidade já em uso for formatada, todo o seu conteúdo será perdido ou só poderá ser recuperado com programas especiais. O comando format também conta com parâmetros. Eis alguns:


/Q - formata rapidamente o disco da unidade;


/U - formata o disco independente da condição;


/? - fornece mais detalhes sobre o comando, assim como todos os seus parâmetros.


A sintaxe do comando é: format [unidade:] /Q /U /S /4


Exemplo:


C:\>format a: - formata o disco na unidade A:\.


UNFORMAT

Caso aconteça de você formatar um disco por acidente, o DOS permite a recuperação das informações (a não ser que você tenha utilizado o parâmetro /U na formatação). O comando unformat é o que tem essa função, que pode ser complementada pelo uso de parâmetros. Eis alguns:


/L - recupera as informações de um disco, mostrando a lista de arquivos e diretórios;


/TEST - lista todas informações, mas não refaz o disco.


A sintaxe do comando é: unformat [unidade:] /L /TEST


Exemplo:


C:\>unformat a: - "desformata" o disco representado pela unidade A:\.



DEL ou DELETE

Comando que executa a eliminação de arquivos. Por exemplo:


C:\>del c:\A\B.doc - apaga o arquivo B.doc presente na pasta A;


C:\>del c:\A\*.doc - apaga todos os arquivos .doc da pasta A;


C:\>del c:\A\*.* - apaga todos os arquivos da pasta A.


UNDELETE

Quem é que nunca passou pela experiência de apagar um arquivo por engano? O DOS conta com o comando undelete justamente para esses casos. A instrução permite recuperar um ou mais arquivos apagados, quando possível. Para utilizá-lo, basta digitar undelete seguido do caminho do arquivo, por exemplo:


C:\>undelete c:\A\B.doc - recupera o arquivo B.doc que estava presente na pasta A.


DELTREE

Este é um comando que elimina um ou mais subdiretórios a partir do diretório corrente. Utilizando este comando, o usuário poderá apagar subdiretórios com mais rapidez. Como precaução, a instrução sempre exibirá uma mensagem perguntando se o usuário realmente deseja realizar tal tarefa. Para executá-lo, basta digitar deltree seguido do caminho do arquivo, por exemplo:


C:\>deltree A - apaga a pasta A presente em C:\.


Veja outros códigos:

VBA Excel | Extraindo a Data de uma Célula com Data e Horário - Remove Date from Date and Time VBA Excel | Converta Tudo para Maiúscula - Convert to Upper CaseVBA Excel | Contando Palavras na Planilha - Word Count from Entire Worksheet VBA Excel | Removendo Decimais dos Números - Remove Decimals from Numbers

VBA Excel |  Multiplique todos os Valores por um Número - Multiply all the Values by a Number VBA Excel | Calculando a Raiz Cúbica - Calculate the Cube Root

VBA Excel | Adicionando Letras de A até Z - Add A-Z Alphabets in a Range VBA Excel | Convertendo Numerais Romanos em Arábicos - Convert Roman Numbers into Arabic Numbers

VBA Excel | Converta todos os Números Negativos em Positivos - Remove Negative Signs VBA Excel | Preencha com zeros as Células em Branco - Replace Blank Cells with Zeros


 Série de Livros nut Project 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes




 Série VBA Outlook: 

VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Usando o DAO em vez do ADO (Using DAO instead of ADO) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Usando um Recordset Desconectado (Using a Disconnected Recordset) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Usando Transações (Using Transactions)


VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Usando Parâmetros em Consultas SQL (Using Parameters in SQL Queries) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Tratando Erros (Handling Errors) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Fechando a Conexão (Closing the Connection)


VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Enviando um e-Mail para cada Cliente (Sending an email to each Customer) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Lendo Dados do Conjunto de Registros (Reading Recordset Data) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Executando uma Consulta SQL (Executing an SQL Query)


VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Conectando ao Banco de Dados usando ADO (Connecting to the Database using ADO)


 Série DONUT PROJECT 2024 

DONUT PROJECT 2024 - VBA - Retorna o Valor do Conteúdo da Área de Transferência do Sistema DONUT PROJECT 2024 - VBA - Retorna a Versão do Sistema Operacional em que o Excel está sendo Executado DONUT PROJECT 2024 - VBA - Desenvolvimento de Ferramentas de Análise de Riscos

DONUT PROJECT 2024 - VBA - Desenvolvimento Obter Informações sobre a Versão do Sistema Operacional DONUT PROJECT 2024 - VBA - Automatizando Tarefas de Engenharia e Design DONUT PROJECT 2024 - VBA - Automatização de Processos de Medir Distâncias no Google Maps

DONUT PROJECT 2024 - VBA - Automatização de Processos de Marketing Mail com o GMail DONUT PROJECT 2024 - VBA - Automatização de Processos de Marketing Mail DONUT PROJECT 2024 - VBA - Como proteger e ocultar fórmulas em uma planilha do Excel usando VBA

DONUT PROJECT 2024 - VBA - Código Exporta os dados e Atualiza as Quantidades em Estoque de um Determinado Produto na Planilha "Estoque" Crie Funções Personalizadas com Visual Basic for Applications (VBA) para Análise de Dados nos Negócios Saber programar em Visual Basic for Applications (VBA)



 Série DONUT PROJECT 2021 


DONUT PROJECT 2021 - VBA Function: Sabe como enviar dados para o Google Sheet, através do MS Excel, usando VBA, no MacBook?

DONUT PROJECT 2021 - VBA Function:  Como Rastrear o Google Maps (Coordenadas Geográficas) no VBA Excel? DONUT PROJECT 2021 - VBA Function:  Crie Acrônimos a partir de Strings de Texto DONUT PROJECT 2021 - VBA Function:  Convertendo uma Matrix num Vetor - Convert Matrix to a Vector

DONUT PROJECT 2021 - VBA Function:  Como tornar o Formulário Transparente no MS Excel? DONUT PROJECT 2021 - VBA Function:  Faça Buscas no Google a Partir da Célula do MS Excel - Search Google From a Cell DONUT PROJECT 2021 - VBA Function:  Decompondo um Nome nas Dimensões de uma Matriz


DONUT PROJECT 2021 - VBA Function: Extraindo o Último Sobrenome de um Nome Completo ou a Última Palavra de uma Frase DONUT PROJECT 2021 - VBA Function:  Extraindo o Segundo Nome de um Nome Completo ou a Segunda Palavra de uma Frase DONUT PROJECT 2021 - VBA Function: Extraindo o Primeiro Nome ou  a Primeira Palavra de uma Frase



 Série DONUT PROJECT 2018 

DONUT PROJECT 2018 - VBA - 12 - Aumente sua Produtividade DONUT PROJECT 2018 - VBA - 10 - Loop For-Each DONUT PROJECT 2018 - VBA - 08 - Referenciando Ranges


DONUT PROJECT 2018 - VBA - 07 - Amostra de Macro  DONUT PROJECT 2018 - VBA - 06 - Recursos Adicionais DONUT PROJECT 2018 - VBA - 05 - Gravando a Primeira Macro

DONUT PROJECT 2018 - VBA - 04 - Opções de Solução DONUT PROJECT 2018 - VBA - 03 - Requisitos e Preparação DONUT PROJECT 2018 - VBA - 02 - Continua Cético

DONUT PROJECT 2018 - VBA - 01 - Maximizando Sua Eficiência DONUT PROJECT 2018 - Excel - Ao Gravar Macro Altere o Método SELECT por RANGE 


 DONUT PROJECT 2018 - Excel - Acelerando as Macros - Desativando os Recursos de Atualização



 Série DONUT PROJECT 2015 

DONUT PROJECT 2015 - Excel - Formatting A Pivot Field's Data - Formatando os Campos de uma Tabela Dinâmica DONUT PROJECT 2015 - Excel - Formatting A Pivot Table's Data - Formatando os Dados de um Tabela Dinâmica DONUT PROJECT 2015 - Excel - Expand/Collapse Entire Field Detail - Ampliando Detalhadamente os Campos da Tabela Dinâmica

DONUT PROJECT 2015 - Extraindo e-Mails - Extracting An Email Address From Text   DONUT PROJECT 2015 - Função - Extraindo Quaisquer Elementos de uma String a Partir do Limitador DONUT PROJECT 2015 - Função - Retorna o número de ocorrências de um caracter numa string

DONUT PROJECT 2015 - Função - Retorna Qualquer Conteúdo Delimitado por 2 Caracteres  DONUT PROJECT 2015 - Função - Retorna Apenas o Conteúdo Entre Parênteses DONUT PROJECT 2015 - Função - Extrai Conteúdo entre Parênteses

DONUT PROJECT 2015 - Excel - Report Layout DONUT PROJECT 2015 - Excel - Grand Totals - Inserindo Totais para todas as Colunas e Linhas na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Change Pivot Table Data Source Range - Mudando a Fonte de Dados da Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Refresh Pivot Tables - Aplicando Refresh em Tabelas Dinâmicas DONUT PROJECT 2015 - How To Create Partially Anonymous Data - Como Manter Informações parcialmente Anônimas  DONUT PROJECT 2015 - Excel - Clear Report Filter - Limpando o Filtro da Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Report Filter On Multiple Items - Criando Filtros Múltiplos na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Report Filter On A Single Item - Criando Filtro de Relatório na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Remove Calculated Pivot Fields - Removendo Campos Calculados da Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Remove Pivot Fields - Removendo Campos da Tabela Dinâmica  DONUT PROJECT 2015 - Excel - Add A Values Field - Adicionando Campos Calculados na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Add Calculated Pivot Fields - Adicionando Campos Calculados na Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Add Pivot Fields - Adicionado Campos na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Delete All Pivot Tables - Apagando todas as Tabelas Dinâmicas DONUT PROJECT 2015 - Excel - Delete A Specific Pivot Table - Apague um Tabela Dinâmica Específica


DONUT PROJECT 2015 - VBA To Add A Confidentiality Footer Statement In Excel, Word, or PowerPoint - Adicionando um Rodapé com Status de Confidencialidade no Excel, Word ou PowerPoint DONUT PROJECT 2015 - Excel - Create A Pivot Table - Criando uma Tabela Dinâmica


 Série DONUT PROJECT 2014 

DONUT PROJECT 2014 - Use os add-ins do MS Excel e dê um salto em sua performance DONUT PROJECT 2014 - VBA - Automatizando o Outlook para enviar um e-mail com anexo  DONUT PROJECT 2014 - VBA - Outlook - Salvando todos os arquivos anexados nos e-mails


DONUT PROJECT 2014 - VBA - Criando uma Matriz de Datas MAT - Moving Annual Total  DONUT PROJECT 2014 - VBA - Excel - Atualizando Tabelas Dinâmicas - Refresh Pivot Table via VBA DONUT PROJECT 2014 - VBA - Excel - Removendo os Caracteres Alfabéticos e Especiais


DONUT PROJECT 2014 - VBA - Access - Criando uma Query com Parâmetros DONUT PROJECT 2014 - VBA - Access - Atualizando o conteúdo de uma Query DONUT PROJECT 2014 - VBA - Access - Saiba o Número de Registro de cada tabela


DONUT PROJECT 2014 - VBA - Access - Extraia Blocos de Dados do Banco de Dados - Sem Problemas de TIMEOUT DONUT PROJECT 2014 - VBA - Access - Lista o Tamanho de Todas as Tabelas DONUT PROJECT 2014 - VBA - Excel - Populando um ListBox no seu Formulário

DONUT PROJECT 2014 - VBA - Excel - Importando arquivos CSV  DONUT PROJECT 2014 - VBA - Excel - Deletando Conexões de Dados  DONUT PROJECT 2014 - VBA - Excel - Obtendo o Nome da Planilha sem a Extensão - Get name of workbook without extension


DONUT PROJECT 2014 - VBA - WORD - Exportação Automatizada - De *.docx Para *.pdf - Otimizando o tamanho


  Clique aqui e nos contate via What's App para avaliarmos seus projetos 

Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com

Inline image 1

Nenhum comentário:

Postar um comentário

diHITT - Notícias