Comando ren para o Linux

Publicado por Mauricio Ferrari (última atualização em 04/09/2020)

[ Hits: 1.116 ]

Homepage: https://www.youtube.com/@LinuxDicasPro

Download ren.cpp




Cansei de usar esse troço: alias ren="mv".

Então, resolvi recriar o comando ren para que ele pudesse ser usado efetivamente no Linux.

Esse eu fiz em C++ puro. Tentei não usar nada de C, acho que rolou.

Vem com um controle de erros aceitável, mas deve ser melhorado.

Funciona também com diretórios, embora a função usada é para arquivos. Eu testei.

  



Esconder código-fonte

/******************************************************************************/

/** ren do Windows eficiênte para o Linux - By Mauricio Ferrari - 01/09/2020 **/

/******************************************************************************/

#include <fstream>
#include <iostream>

using namespace std;

/******************************************************************************/

/** Função Info **/

int info(char* i){
   cout << "\n\033[0;36mUso:\n\n" << i << " \"nome arquivo\" novo_nome\n";
   return(0);
}

/******************************************************************************/

/** Função Principal **/

int main(int argc, char** argv){
   int f;
   int c = 0;
   const char * oldname;
   const char * newname;

   /** Mapeamento dos Parâmetros. **/

   for(f = 0; f < argc; f++){
      if(f == 1){
         oldname = argv[f];
         c++;
      }
      if(f >= 2){
         newname = argv[f];
         c++;
      }
   }

   /** Controle de Erro **/

   if(c == 0){
      info(argv[0]);
      exit(0);
   }
   if(c < 2){
      cout << "\033[0;33m\nPoucos Parâmetros!\n";
      return(1);
   }
   if(c > 2){
      cout << "\033[0;33m\nMuitos Parâmetros!\n";
      return(1);
   }

   /** Renomeando Arquivos e Diretórios **/

   ifstream file(oldname);
   rename(oldname, newname);
   file.close();
   return(0);
}

Scripts recomendados

Cadastor de Produtos em C e metodos ordenação

Agenda (fones, compromissos, aniversários) em C usando arquivos binários

[C] Apaga linha em um Arquivo

Executar um arquivo com o programa padrão no C#

Listar arquivos e diretórios com suas propriedades


  

Comentários
[1] Comentário enviado por pylm em 04/09/2020 - 14:57h

Já existe uma ferramenta pra renomar, é parte do util-linux inclusive.

[2] Comentário enviado por maurixnovatrento em 04/09/2020 - 16:25h


Tem também o comando rename. Só que precisa ser instalado. Esse aí eu quero deixar do meu jeito. Vou ter que trabalhar mais em cima.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts