viele Dateien umbenennen direkt auf dem Hoster (UL, CL, SO)

  • Manchmal muß man Dateien umbenennen, die man schon hochgeladen hat. Bei 2-3 Files kein Problem, aber bei 10 wird man schon gnatzig, und bei 100 Kopfschuß :cursing:


    Dahier hier ein wenig JavaScript, was man direkt auf der Seite starten kann.


    Das funktioniert aber nur, wenn es um "ersetze AAA gegen BBB" geht, bzw. ist nur dann wirklich sinnig.


    Share-Online
    Für Share-Online muß man vorher ein wenig tricksen, um das verschlüsselte Passwort rauszubekommen; geht dazu bei SO in diei Uploadverwaltung.


    Firefox
    Dafür braucht man das AddOn "FireBug".


    Die blau markierte Zeile suchen und kopieren:



    Internet Explorer
    Entwickler-Tools (F12) starten und dann dort die blau markierte Zeile kopieren und in einen Editor einfügen, damit man die hier gelb markierte Zeile greifen kann:



    Diese Zeile kopiert ihr in dieses Script:



    Darin müßt ihr zwei Sachen anpassen:


    • var query = "username=12345678900&password=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx%3D&act=rename&c=1&id=" + id + "&name=" + fn_new;
      Ihr könnt hier einfach die zuvor geholte Zeile reinkopieren und hinten dafür sorgen, daß da rename steht.
    • if (fn.match('Yadda')) { Suchmuster, ob der Dateiname paßt.
    • var fn_new= fn.replace('Yadda','blubber');


    Hier sagt ihr, "ersetze Yadda gegen blubber". Man kann auch kompliziertere Muster machen, die match()- und replace()-Befehle von JavaScript verstehen zB. reguläre Ausdrücke:
    .replace(/(\d)x(\d\d)/,'S0$1E$2') ersetzt die Epi-Angabe im Format 1x01 gegen S01E01 usw.


    Siehe zB. auch SelfHTML


    Die Zeilen dann markieren (Auswahl: alle) und das fertige Script dann in der Firebug-Console bzw. IE-Entwicklertools Script-Bereich ausführen.


    Uploaded und Cloudzer


    UL und CL sind identisch zu bedienen, und deutlich einfacher :)


    Geht zu den Dateien.


    Dort dann in der Firebug-Console bzw. IE-Entwicklertools Script-Bereich ausführen:


    Code
    1. $$('div.file_row').each(function (oThis) {
    2. id = oThis.readAttribute('data-id');
    3. fname = oThis.readAttribute('data-name');
    4. if (fname && fname.match(/ABCD/)) {
    5. fname = fname.replace(/ABCD/,'XYZ');
    6. new Ajax.Request('api/file/rename', { parameters:'auth='+id+'&name='+fname, onComplete:function(e) {} });
    7. }
    8. });


    Hier die Zeilen
    if (fname && fname.match(/ABCD/)) {
    und
    fname = fname.replace(/ABCD/,'XYZ');
    anpassen, und zwar das Suchmuster (hier ABCD) und die Ersetzung (XYZ).


    ________________________


    Manchmal wird nicht alles umbenannt; dann einfach die Seite neu laden (damit er auch alle Änderungen anzeigt) und dann einfach das Script nochmal laufen lassen. Durch die .match()-Bedingung werden nur die Files nochmal bearbeitet, die noch nicht umbekannt wurden.


    Ich hoffe, daß ist einigermaßen verständlich, sonst fragt halt :)



    GoneFar (ja ich mach' sowas auch gern mal)

    Ein Leben ohne Kaffee mag möglich sein, ist aber sinnlos.

    2 Mal editiert, zuletzt von GoneFar () aus folgendem Grund: Tippfehler korrigiert