ang Renommer les fichiers en enlevant certaines caractéristiques

Éditeur : Blackdread   +
Mise à jour le : 20/06/2012  ·   Licence : Libre  ·   Téléchargé 206 fois   ·   5 Ko Date de sortie : 20/06/2012

Commentaires La discussion sur le forum
Présentation
Renomme les fichiers en enlevant certaines caractéristiques tels que les underscores, tiret, tout ce qui est contenu dans des [], (), {}.
Le programme enlève les mots tel que(non case sensitive) : vostfr,1280p, 1280x720p, ReEnc, ...

Il renomme tout les fichiers, même ceux dans les répertoires qui se trouvent après et met les fichiers à leur place d'origine.

Bref :
*Enlever les _ et - et . -> les remplacer par des espaces
* Enlever double espace ou triple...
* Enlever ce qui est entre [], {}, ()
* Enlever les mots : vostfr, 1280x720 1280x720p 720p 1080p x264 X264 XviD XVID MP3 AAC HDTV ReEnc ...
* Verifier que le nom ne commence ni ne fini par un espace
Téléchargement
Compatibilité
Linux Mac Windows  
  1. import java.io.File;
  2.  
  3.  
  4. /**
  5.  * CrŽŽ le 18 juin 2012
  6.  * Le programme renomme les fichiers et va cherche les fichiers dans les rŽpertoires suivants
  7.  * @author Yoann CAPLAIN alias Blackdread
  8.  * @version 1.0
  9.  */
  10. public class Main {
  11.  
  12. /*
  13. * Cahier des charges
  14. *
  15. * Enlever les _ et - et . -> les remplacer par des espaces
  16. * Enlever double espace ou triple...
  17. * Enlever ce qui est entre [], {}, ()
  18. * Enlever les mots : vostfr, 1280x720 1280x720p 720p 1080p x264 X264 XviD XVID MP3 AAC HDTV ReEnc ...
  19. * Verifier que le nom ne commence ni ne fini par un espace
  20. *
  21. */
  22.  
  23. private static final String motsNonDesiree = "vostfr-1280x720p-1280x720-720p-1080p-480p-x264-XVID-MP3-AAC-HDTV-ReEnc";
  24. private static final String CaracNonDesiree ="_-*/+;:!|,/?";
  25.  
  26. /**
  27. * @param args
  28. */
  29. public static void main(String[] args) {
  30. /*
  31. String test = "[team Asci] dsdusd.[ dsd dssd ds].{dsa bdlasd}_VostFR 720p 1280x720p _ 1280x720p - ddad dad (dadd).avi";
  32. System.out.println("avant :"+test+";");
  33. test = supprimerCaractereEntreCrochet(test);
  34. test = supprimerMotsNonDesiree2(test);
  35. test = supprimerCaractereNonDesiree(test);
  36.  
  37. test = supprimerDoubleEspaces(test);
  38. test = supprimerEspacesPremier(test);
  39. test = supprimerEspacesDernier(test);
  40. test = supprimerPointGardeExtension(test);
  41. System.out.println("apres :"+test+";");
  42. */
  43. bla();
  44. }
  45.  
  46.  
  47. public static String supprimerDoubleEspaces(String NouveauNom)
  48. {
  49. int i=0;
  50. do{
  51. i=NouveauNom.indexOf(" ");
  52. NouveauNom=NouveauNom.replaceAll(" ", " ");
  53. }while(i != -1);
  54. return NouveauNom;
  55. }
  56.  
  57. public static String supprimerMotsNonDesiree(String NouveauNom)
  58. {
  59. String buffer[]=motsNonDesiree.split("-");
  60. for(String v : buffer)
  61. NouveauNom = NouveauNom.replace(v, " ");
  62.  
  63. return NouveauNom;
  64. }
  65. public static String supprimerMotsNonDesiree2(String NouveauNom)
  66. {
  67. int i=0,j=0;
  68.  
  69. String lowerMots = motsNonDesiree.toLowerCase();
  70. String buffer[]=lowerMots.split("-");
  71. String lowerNom = NouveauNom.toLowerCase();
  72. for(String v : buffer)
  73. if(lowerNom.contains(v)){
  74. do{
  75. i=lowerNom.indexOf(v);
  76. if(i!=-1)
  77. if(i!=0){
  78. NouveauNom = ""+NouveauNom.substring(0, i)+""+NouveauNom.substring(i+v.length(), NouveauNom.length());
  79. lowerNom = ""+lowerNom.substring(0, i)+""+lowerNom.substring(i+v.length(), lowerNom.length());
  80. }else{
  81. NouveauNom = ""+NouveauNom.substring(i+v.length(), NouveauNom.length());
  82. lowerNom = ""+lowerNom.substring(i+v.length(), lowerNom.length());
  83. }
  84. }while(i!=-1);
  85. }
  86.  
  87. return NouveauNom;
  88. }
  89.  
  90. public static String supprimerCaractereNonDesiree(String NouveauNom)
  91. {
  92. for(int i=0;i<CaracNonDesiree.length();i++)
  93. NouveauNom = NouveauNom.replace(""+CaracNonDesiree.charAt(i), " ");
  94. return NouveauNom;
  95. }
  96.  
  97. public static String supprimerCaractereEntreCrochet(String NouveauNom){
  98. NouveauNom = supprimerCaractereEntreCrochet(NouveauNom,'[',']');
  99. NouveauNom = supprimerCaractereEntreCrochet(NouveauNom,'(',')');
  100. return supprimerCaractereEntreCrochet(NouveauNom,'{','}');
  101. }
  102.  
  103. public static String supprimerCaractereEntreCrochet(String NouveauNom, char avant, char apres){
  104. int i,j;
  105. do{
  106. i=NouveauNom.indexOf(avant);
  107. j=NouveauNom.indexOf(apres);
  108.  
  109. if(i!=-1 && j!=-1 && i<j){
  110. if(i!=0)
  111. NouveauNom=""+NouveauNom.substring(0, i)+""+NouveauNom.substring(j+1);
  112. else
  113. NouveauNom=NouveauNom.substring(j+1);
  114. }else if(i!=-1 && j!=-1 && i>j){
  115. String temp="";
  116. for(int o=0;o<NouveauNom.length();o++)
  117. if(o==j)
  118. temp+=" ";
  119. else
  120. temp+=""+NouveauNom.charAt(o);
  121. NouveauNom=temp;
  122. }
  123. }while(i!=-1 || j!=-1);
  124.  
  125. return NouveauNom;
  126. }
  127.  
  128. public static String supprimerPointGardeExtension(String NouveauNom)
  129. {
  130. int i=-1;
  131. i=NouveauNom.lastIndexOf(".");
  132. if(i!= -1){
  133. String temp=NouveauNom.substring(i);
  134. NouveauNom = ""+supprimerPoint(NouveauNom.substring(0, i))+""+temp;
  135. }
  136. return NouveauNom;
  137. }
  138.  
  139. public static String supprimerPoint(String NouveauNom)
  140. {
  141. return NouveauNom.replace(".", " ");
  142. }
  143.  
  144. public static String supprimerEspacesPremier(String NouveauNom)
  145. {
  146. if(NouveauNom.charAt(0) == ' ') {
  147. NouveauNom = NouveauNom.substring(1);
  148. }
  149. return NouveauNom;
  150. }
  151. public static String supprimerEspacesDernier(String NouveauNom)
  152. {
  153. int i=NouveauNom.lastIndexOf(".");
  154. if(i!= -1 && i!= 0)
  155. if(NouveauNom.charAt(i-1) == ' ')
  156. NouveauNom = ""+NouveauNom.substring(0, i-1)+""+NouveauNom.substring(i, NouveauNom.length());
  157. return NouveauNom;
  158. }
  159.  
  160.  
  161.  
  162. /*
  163. * FILE
  164. */
  165. public static String renommerTout(String test){
  166. System.out.println("avant :"+test+";");
  167. test = supprimerCaractereEntreCrochet(test);
  168. test = supprimerMotsNonDesiree2(test);
  169. test = supprimerCaractereNonDesiree(test);
  170.  
  171. test = supprimerDoubleEspaces(test);
  172. test = supprimerEspacesPremier(test);
  173. test = supprimerEspacesDernier(test);
  174. test = supprimerPointGardeExtension(test);
  175. System.out.println("apres :"+test+";\n");
  176.  
  177. return test;
  178. }
  179.  
  180. public static void bla(){
  181. listeRepertoire(new File("./"));
  182. }
  183.  
  184. public static void listeRepertoire ( File repertoire ) {
  185.  
  186.  
  187. if ( repertoire.isDirectory ( ) ) {
  188. File[] list = repertoire.listFiles();
  189. for ( int i = 0; i < list.length; i++) {
  190. /* Appel récursif sur les sous-répertoires */
  191. listeRepertoire( list[i]);
  192.  
  193. }
  194. } else {
  195. // repertoire.getPath() me permet de placer le fichier renommer lˆ o il Žtait au dŽpart mais il y a le nom du fichier initial dans le chemin
  196. String chemin = repertoire.getPath();
  197. chemin = chemin.substring(0, (chemin.length()-repertoire.getName().length()));
  198.  
  199. repertoire.renameTo(new File(""+chemin+""+renommerTout(repertoire.getName())));
  200. //repertoire.renameTo(new File("./" +renommerTout(repertoire.getName())));
  201. }
  202. }
  203. }
  204.  
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
 
 
 
 
Partenaires

PlanetHoster
Ikoula