Die Idee entstand aus der Stereoanlage des Autos meines Vaters gibt es nicht einen iPod Shuffle. Dann dachte ich:

Da er nicht wählt zufällige gut, warum nicht zu den Dateinamen bereits randomisierten?

Schnell entschlossen, in Java zu tun und gab es dort:

RandomFiles.java

 / * * * RandomFiles.java Copyright (C) 2009 Vítor Avelino * * Dieses Programm ist freie Software: Sie können es weiterverbreiten und / oder zu modifizieren * es unter den Bedingungen der GNU General Public License * die Stiftung veröffentlicht von der Free Software, entweder gemäß Version 3 der Lizenz oder * (nach Ihrer Option) jeder späteren Version. * * Dieses Programm ist GARANTIE verteilt in der Hoffnung werden, dass ein nützliches, aber OHNE IRGENDEINE, sogar ohne die implizite Garantie der MARKTREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.  * Siehe die GNU General Public License für weitere Details. * * Sie sollten dieses Programm erhalten haben, eine Kopie der GNU General Public License zusammen mit *.  Falls nicht, siehe <http://www.gnu.org/licenses/>. * / Import java.io.File; Import java.util.Random; public class RandomFile (private static random Randomizer = new Random (); / ** * Randomize die Dateien eines bestimmten Verzeichnisses. * * @ param-Verzeichnis Das Verzeichnis, Unterverzeichnis param wird seinen umbenannte Datei * @ <code> true </ code>, wenn Unterverzeichnisse "umbenannten Dateien * Have to be <<code> false / code>, wenn es * ist nicht nötig Unterverzeichnisse umbenennen "Dateien / public static void randomize (String Verzeichnis, boolean includeSubdirs) (File dir = new File (Verzeichnis) if (! dir.isDirectory () | |! dir.exists () ) (System.out.println (Verzeichnis + "ist kein Verzeichnis oder existiert nicht!") System.exit (-1);) System.out.println ("Starting ..."); zufällige Umbenennung navigateInDirectories (dir , includeSubdirs) System.out.println ("Fertig !");) private static void navigateInDirectories (File dir, boolean includeSubdirs) (umbenannte Datei = null; RandomNumber int = 0; for (File f: dir.listFiles ()) (do (RandomNumber randomizer.nextInt = ();) while (RandomNumber <= 0) if (! f.isDirectory ()) (umbenannt = new File (FileUtil.getPath (f) + + RandomNumber FileUtil.getExtension (f) ); f.renameTo (umbenannt) System.out.println (">>> "f.getName + () +" umbenannt in "+ + RandomNumber FileUtil.getExtension (f))) else if (includeSubdirs) (System . out.println ("-" + f.getName () + file.separator); navigateInDirectories (f, );)))) includeSubdirs 

FileUtil.java

 / * * * FileUtil.java Copyright (C) 2009 Vítor Avelino * * Dieses Programm ist freie Software: Sie können es weiterverbreiten und / oder zu modifizieren * es unter den Bedingungen der GNU General Public License * die Stiftung veröffentlicht von der Free Software, entweder gemäß Version 3 der Lizenz oder * (nach Ihrer Option) jeder späteren Version. * * Dieses Programm ist GARANTIE verteilt in der Hoffnung werden, dass ein nützliches, aber OHNE IRGENDEINE, sogar ohne die implizite Garantie der MARKTREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.  * Siehe die GNU General Public License für weitere Details. * * Sie sollten dieses Programm erhalten haben, eine Kopie der GNU General Public License zusammen mit *.  Falls nicht, siehe <http://www.gnu.org/licenses/>. * / Import java.io.File; public class FileUtil (/ ** * Gibt nur den Pfadnamen einer Datei als String zurück. * * @ Param f Die Datei, Pfad extrahiert haben die * @ return Der Pfad der Datei * / public static String getPath (File f) (String AbsolutePath f.getAbsolutePath = (); absolutePath.substring return (0, absolutePath.lastIndexOf (file. separator) + 1);) / ** * Gibt die Erweiterung der Datei. * * @ param Die Datei-Erweiterung, die den Willen haben <code> extrahiert * @ return null </ code>, wenn die Erweiterung der Datei nicht existieren, <code> Erweiterung </ code>, wenn die Datei hat eine * / public static String GetExtension (File f) (String name = f.getName (); Rückkehr name.substring (name.lastIndexOf ('.')); )) 

Die Form ist einfach zu bedienen, folgt ein Beispiel unten:

 RandomFiles.randomize ("D: \ Test \", false);
 RandomFiles.randomize ("D: \ Test \", true);

Für den ersten Aufruf lautet die Ausgabe:

Initializing random umbenennen ...
>>> Arquivo1.PDF umbenannt 538981388.PDF
>>> Arquivo2.doc umbenannt 65861820.doc
>>> Arquivo3.html umbenannt 210904720.html
Fertig!

Für den zweiten Aufruf die Ausgabe lautet:

Initializing random umbenennen ...
>>> Umbenannt in 210904720.html 668609286.html
>>> 538981388.PDF umbenannt 573146098.PDF
>>> Umbenannt 417987190.doc 65861820.doc
- Sub \
>>> Arquivo4.PDF umbenannt 233716363.PDF
>>> Arquivo5.doc umbenannt 657621617.doc
>>> Arquivo6.html umbenannt 118165004.html
Fertig!

Ausgehende Nachrichten werden nur zum Zweck der Durchführung des Programms zu überwachen.

Ich hoffe, es ist sinnvoll, jemanden wie es für mich war. Wenn Sie Zeit habe ich eine Version von Python und machen / oder Shell-Script zu installieren und auch ein anständiges OS (zB den Papierkorb haben gesehen, richtig?) Hier auf dem PC in das Haus meiner Eltern.

Urlaub jetzt! : ~

Import java.io.File;
Import java.util.Random; public class RandomFile (private static random Randomizer = new Random (); public void randomize (String Verzeichnis, boolean includeSubdirs) (
File dir = new File (Verzeichnis);
if (! dir.isDirectory () | |! dir.exists ()) (
System.out.println (Verzeichnis + "ist kein Verzeichnis oder existiert nicht!");
System.exit (-1);
)

System.out.println ("Initializing random Umbenennung ...");
navigateInDirectories (dir, includeSubdirs);
System.out.println ("Fertig!");
)

private static void navigateInDirectories (File dir, boolean includeSubdirs) (
Umbenannt File = null;
RandomNumber int = 0;

for (File f: dir.listFiles ()) (
zu tun (
RandomNumber randomizer.nextInt = ();
) While (RandomNumber <= 0);

if (! f.isDirectory ()) (
umbenannt = new File (FileUtil.getPath (f) + + RandomNumber FileUtil.getExtension (f));
f.renameTo (umbenannt);
System.out.println (">>> "f.getName + () +" umbenannt in "+ + RandomNumber FileUtil.getExtension (f));
) Else if (includeSubdirs) (
System.out.println ("-" + f.getName () + file.separator);
navigateInDirectories (f, includeSubdirs);
)
)
)

public static void main (String [] args) (
RandomFiles.randomize ("D: / test /", false);
)

)

Sagen Sie:

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • FriendFeed
  • Identi.ca
  • LinkedIn
  • Netvibes
  • Rec6
  • Reddit
  • RSS
  • StumbleUpon
  • Twitter
  • Mixx
  • Technorati

Verwandte Artikel: