Ir ao conteúdo
  • Cadastre-se

Ctrl c - ctrl v - automatizado


Posts recomendados

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?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@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.

 

Link para o comentário
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.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@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í. 

Link para o comentário
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?!

Link para o comentário
Compartilhar em outros sites

  • Moderador

@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

Link para o comentário
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.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...