Tool PyTool Extension to lowercase

  • Autore discussione Utente cancellato 236678
  • Data d'inizio
Stato
Discussione chiusa ad ulteriori risposte.
U

Utente cancellato 236678

Ciao,

Ho fatto questo script in caso qualcuno utilizzi un packer strano (come mi e` capitato) che non supportasse ad esempio i modelli .GR2 (notare uppercase).

Ho fatto un piccolo script che rinomina un estensione che gli diamo in input (ex. txt) e fa un rename recursive sui file trovati.

Praticamente, se volete rinominare tutte le estensioni GR2 to -> gr2 gli date gr2 in input.

Nota: Non vengono in questa versione prese in considerazione le estensioni camelcase (TxT) ne filename uguale ad estensione (TXT.TXT o GR2.GR2), su richiesta posso implementarla.

Avvertenze: Consiglio sempre un backup prima di qualsiasi operazione dei file su cui si vuole lavorare, questa dovrebbe essere buona norma onde evitare qualsiasi tipo di lamentela.

Versione utilizzata:
3.6

Ho fatto un video per una versione precedente, il funzionamento e` lo stesso, ve lo allego solo in caso vi serva.



Codice:

Python:
##################################################
########## Author: fleon #########################
########## git/FilippoLeone ######################
##################################################
# Usage: python scriptname.py

import os,fnmatch,shutil,re

lenght = 3 # Set here the size of the extension, default 3
extension = None;

class FileManager():
    @staticmethod
    def Main():
        print("\n\n#### Extension to lowercase V.01 ####\n\n")
        print("Renames recursively from a caps extension to lower.")
        print("USAGE: Place your content and script into C:\workdir")
        print("The script will recursively change the extension to lower.")
        input(">>>> Press ENTER to continue...")
        # In case you are using a python version that is equal or lower than 2.7 please use raw_input instead of input above.
        FileManager.GetExtension()
        FileManager.GetLogFile()
        FileManager.RenameFile()
       
    def GetExtension():
        global extension
        global lenght
        while not extension or len(extension) > lenght:
            print("Tell me wich extension would you like to lower")
            print("/!\ The extension must not be left empty.")
            extension = str(input(">>>> Now type an extension: (Example: txt) \n"))
        return(extension)
   
   
    def GetLogFile():
        path = os.getcwd()
        global extension
        Extension = "*." + str(extension)
        with open("rename_log", "w") as File_txt:
            for root, dirnames, filenames in os.walk(path):
                for gr2 in fnmatch.filter(filenames, Extension):
                    write_txt = (os.path.join(root, gr2) +"\n")
                    File_txt.write(write_txt)
                   
    def RenameFile():
        global extension
        with open("rename_log", "r") as file_directory:
            for element in file_directory:
                element = element[:-1]
                ren_element = element.replace(str.upper(extension), str.lower(extension))
                os.rename(element, ren_element)
                print(">>>> This file has been renamed: " + element)       
        total_elements = sum(1 for line in open('rename_log'))   
        print("Total renamed files: {0}".format(str(total_elements)))

FileManager.Main()
 
  • Mi piace
Reazioni: Saybe2
Stato
Discussione chiusa ad ulteriori risposte.