Ir ao conteúdo
  • Cadastre-se
danielsan8

Ctrl c - ctrl v - automatizado

Recommended Posts

Quero saber como faço um software da seguinte maneira e se tem como:

Tenho vários .txt com numeração diferentes (1.txt, 2.txt, ...)

E gostaria que quando ativo o software ou clico pra iniciar, dou o comando ctrl + v e ele cola o conteúdo do primeiro .txt (1.txt), e depois que dou ctrl + v de novo ele cola o segundo .txt (2.txt) e por aí vai.

Alguém entendeu e poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@danielsan8 Creio que não exista um aplicativo que faça isso.

 

Contudo podes fazer algo semelhante em diversas linguagens.

Como por exemplo em PHP, java, C/C++ e outras.

Basicamente você iria precisar fazer o algoritmo abrir os arquivos txt, varrer o conteúdo copiar e inserir no outro  txt.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, dif disse:

@danielsan8 Creio que não exista um aplicativo que faça isso.

 

Contudo podes fazer algo semelhante em diversas linguagens.

Como por exemplo em PHP, java, C/C++ e outras.

Basicamente você iria precisar fazer o algoritmo abrir os arquivos txt, varrer o conteúdo copiar e inserir no outro  txt.

 

Como seria em java ou php? O .txt dei só como exemplo, mas pode ser qualquer forma de pegar o texto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@danielsan8

Em php é simples de fazer, mas tem que ser com arquivo .txt já outros arquivos eu não sei se funcionaria.

 

<?php

$lista = 'lista.txt';
$backup = 'backup.txt';

$arquivo1 = fopen($lista, 'r');
$arquivo2 = fopen($backup, 'a');

$texto = fread($arquivo1, filesize($lista));

if($texto):
	fwrite($arquivo2, $texto);
	echo "O backup da lista foi efetuado com sucesso.";
endif;

fclose($arquivo1);
fclose($arquivo2);

Vou tentar explicar linha por linha de forma bem objetiva.

A variável:

  • $lista  recebe o valor do nome do arquivo txt que vai ser copiado o conteúdo.
  • $backup recebe como valor o nome do arquivo txt que irá receber o conteúdo copiado.
  • $arquivo1 recebe a função fopen()1 possui dois parâmetros, a variável $lista e o modo r2 
  • $arquivo2 recebe a função fopen()  possui dois parâmetros, a variável $backup e o modo a3
  • $texto recebe a função fread()4  lê o $arquivo1 até atingir o final, a função filesize()5 
  • A condicional IF testa a variável $texto. Se OK, o conteúdo do arquivo 1 é escrito no arquivo 2. Quem faz isso é a função fwrite()6 recebe como parâmetro o arquivo 2  e o $texto que foi copiado
  • echo printa em tela a frase de sucesso.
  • fclose() fecha o arquivo. como são dois temos que  fechar os dois em ordem.

 

 

1 'Abre' o arquivo para que possa ser manipulado.

Abre o arquivo somente para leitura; coloca o ponteiro de escrita no começo do arquivo.

3  Abre o arquivo somente para escrita; Coloca o ponteiro de escrita no final do arquivo.

4 Lê um arquivo, até o final.

5 obtém o tamanho total do arquivo.

6 Escreve no arquivo

 

PS: Meu IF usa a sintaxe alternativa. onde não se usa os delimitadores { }  mas sim, o sinal de dois pontos e a palavra chave "endif"

 

Então quando abrir o arquivo backup.txt depois que executar  o código, terá o conteúdo do outro arquivo txt.

Caso você apague o conteúdo do arquivo 1 e escreva outras coisas diferentes por exemplo e executar novamente, o arquivo backup manterá o que já tinha e vai acrescentar o novo conteúdo a partir da ultima linha.

 

Para interpretar um arquivo php, é necessário o servidor apache. Recomendo baixar e instalar o EasyPHP DEV-server 16.1.1.

 

Não deixe de procurar como se configurar, onde colocar o arquivo php e como executar com o easyPHP.

 

Bem é mais ou menor por aí. 

Compartilhar este post


Link para o post
Compartilhar em outros sites
12 horas atrás, dif disse:

@danielsan8

Em php é simples de fazer, mas tem que ser com arquivo .txt já outros arquivos eu não sei se funcionaria.

 


<?php

$lista = 'lista.txt';
$backup = 'backup.txt';

$arquivo1 = fopen($lista, 'r');
$arquivo2 = fopen($backup, 'a');

$texto = fread($arquivo1, filesize($lista));

if($texto):
	fwrite($arquivo2, $texto);
	echo "O backup da lista foi efetuado com sucesso.";
endif;

fclose($arquivo1);
fclose($arquivo2);

Vou tentar explicar linha por linha de forma bem objetiva.

A variável:

  • $lista  recebe o valor do nome do arquivo txt que vai ser copiado o conteúdo.
  • $backup recebe como valor o nome do arquivo txt que irá receber o conteúdo copiado.
  • $arquivo1 recebe a função fopen()1 possui dois parâmetros, a variável $lista e o modo r2 
  • $arquivo2 recebe a função fopen()  possui dois parâmetros, a variável $backup e o modo a3
  • $texto recebe a função fread()4  lê o $arquivo1 até atingir o final, a função filesize()5 
  • A condicional IF testa a variável $texto. Se OK, o conteúdo do arquivo 1 é escrito no arquivo 2. Quem faz isso é a função fwrite()6 recebe como parâmetro o arquivo 2  e o $texto que foi copiado
  • echo printa em tela a frase de sucesso.
  • fclose() fecha o arquivo. como são dois temos que  fechar os dois em ordem.

 

 

1 'Abre' o arquivo para que possa ser manipulado.

Abre o arquivo somente para leitura; coloca o ponteiro de escrita no começo do arquivo.

3  Abre o arquivo somente para escrita; Coloca o ponteiro de escrita no final do arquivo.

4 Lê um arquivo, até o final.

5 obtém o tamanho total do arquivo.

6 Escreve no arquivo

 

PS: Meu IF usa a sintaxe alternativa. onde não se usa os delimitadores { }  mas sim, o sinal de dois pontos e a palavra chave "endif"

 

Então quando abrir o arquivo backup.txt depois que executar  o código, terá o conteúdo do outro arquivo txt.

Caso você apague o conteúdo do arquivo 1 e escreva outras coisas diferentes por exemplo e executar novamente, o arquivo backup manterá o que já tinha e vai acrescentar o novo conteúdo a partir da ultima linha.

 

Para interpretar um arquivo php, é necessário o servidor apache. Recomendo baixar e instalar o EasyPHP DEV-server 16.1.1.

 

Não deixe de procurar como se configurar, onde colocar o arquivo php e como executar com o easyPHP.

 

Bem é mais ou menor por aí. 

Entendi. Muito bacana dif, mas quando vou usar o ctrl+v?

O que estou criando é a cada vez que eu colo (ctrl+v), ele vai sempre colando uma coisa atrás da outra sem repetir ou até acabar os arquivos.

Como exemplo, seria mais ou menos assim:

Arquivos que tenho: arquivo1.txt - arquivo2.txt - arquivo3.txt - etc...

Conteúdo dos arquivos: arquivo1.txt ("Conteúdo do arquivo1") - arquivo2.txt ("Conteúdo do arquivo2") - arquivo3.txt ("Conteúdo do arquivo3") - etc...

Assim que inicio o programa, quando dou ctrl+v ele irá colar o conteúdo do arquivo1.txt, e quando dou ctrl+v de novo ele irá colar o conteúdo do arquivo2.txt e assim por diante até acabar.

Executando 3x o ctrl+v: Ex.: Conteúdo do arquivo1 Conteúdo do arquivo2 Conteúdo do arquivo3 . . .

Entende?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@danielsan8 Entendi, mas não tem como usar o control V. porque a linguagem faz automaticamente quando informa qual arquivo abrir.

 

O que você pode tentar fazer é adaptar o meu exemplo para vários arquivos por exemplo

$arquivo1 = 'arquivo1.txt';
$arquivo2 = 'arquivo2txt';
$arquivo3 = 'arquivo3.txt';

$tudo = 'todos_arquivos.txt';

$a1 = fopen($arquivo1, 'r');
$a2 = fopen($arquivo2, 'r');
$a3 = fopen($arquivo3, 'r');

No caso, você define quais arquivos você lê e depois varre o conteúdo deles e copia para um quarto arquivo.

Não há necessidade de você usar ctrl c e ctrl v pois a linguagem faz automaticamente isso. Pelo menos no php.

Não sei em outras linguagens.

 

É mais ou menos isso que você quer. mas não é exatamente isso que você quer porque não tem como. Ou pelo menos desconheço um método que faça isso, pois ao copiar um conteúdo com o ctrl C, o conteúdo dele fica na clipboard.

 

Você cola no outro arquivo, aí copia outra coisa de outro arquivo, ele vai sobrescrever o que estava na clipboard.

Tentei ser o mais objetivo possível

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 01/06/2016 às 14:38, dif disse:

@danielsan8 Entendi, mas não tem como usar o control V. porque a linguagem faz automaticamente quando informa qual arquivo abrir.

 

O que você pode tentar fazer é adaptar o meu exemplo para vários arquivos por exemplo


$arquivo1 = 'arquivo1.txt';
$arquivo2 = 'arquivo2txt';
$arquivo3 = 'arquivo3.txt';

$tudo = 'todos_arquivos.txt';

$a1 = fopen($arquivo1, 'r');
$a2 = fopen($arquivo2, 'r');
$a3 = fopen($arquivo3, 'r');

No caso, você define quais arquivos você lê e depois varre o conteúdo deles e copia para um quarto arquivo.

Não há necessidade de você usar ctrl c e ctrl v pois a linguagem faz automaticamente isso. Pelo menos no php.

Não sei em outras linguagens.

 

É mais ou menos isso que você quer. mas não é exatamente isso que você quer porque não tem como. Ou pelo menos desconheço um método que faça isso, pois ao copiar um conteúdo com o ctrl C, o conteúdo dele fica na clipboard.

 

Você cola no outro arquivo, aí copia outra coisa de outro arquivo, ele vai sobrescrever o que estava na clipboard.

Tentei ser o mais objetivo possível

Pensei em outra coisa que talvez daria pra fazer.

Criar um programa que quando clicamos numa tecla de atalho (Ex: Ctrl+Shift+F5), ele adiciona um texto no clipboard.

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

×