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:
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()