Dateien nach Schema umbenennen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateien nach Schema umbenennen

    Abend!

    Ich wollte mir gerade ein Script schreiben mit dem ich nach einem vorgegebenen Schema Dateien aus einem Ordner umbenennen kann.
    Steh aber gerade auf dem Schlach und hoffe einer von euch kann mir helfen:

    Ich möchte alle Dateien aus einem Ordner so bearbeiten:
    1. Endung "abschneiden"
    2. 3 Zeichen vor dem Ende des Dateinamens einen Punkt setzen und so quasi die letzten 3 Zeichen zur Dateiendung machen.

    Warten schon Ungeduldig auf eure Vorschläge

  • #2
    hmm, denke dass da was mit substr() laufen könnte. Die Endung könntest du mit explode entfernen.

    Kommentar


    • #3
      JA gut. Schonmal Thx.
      Aber wie lese ich erstma jede Datei einzeln aus dem Verzeichnis ein?

      Kommentar


      • #4
        Aber Opa!!! Gerade dir würde ich nicht unterstellen, dass du die Suche nicht nutzt. Hast du da nicht gefunden?

        Kommentar


        • #5
          sry, hab wohl etwas vorzeitig gepostet
          Hab einiges gefunden aus dem ich mir jetzt was basteln werde.
          Bei Probs komm ich wieder auf dich zurück

          Thx für die schnelle Hilfe

          Kommentar


          • #6
            Kein Problem. Die Hilfe beruht ja auf Gegenseitigkeit!

            Kommentar


            • #7
              Bin eigentlich fast durch. LEider wird mir immernoch das Bein gestellt:

              Warning: rename() failed (No such file or directory) in C:\home\rename.php on line 12

              So sieht mein Script aus:
              PHP-Code:
              $verzeichnis dir("c:/tmp/zib");
              while(
              $oldfile $verzeichnis->read()){
                if(
              $datei != "." && $datei != ".."){
                  
              $olddatei explode("."$oldfile);
                  
              $length strlen($olddatei[0]);
                  
              $filename substr($olddatei[0],0,($length-3));
                  
              $ending substr($olddatei[0],-3,3);
                  
              $newname $filename.".".$ending;
                  echo 
              "\n$olddatei[0] $length $filename $ending $newname<br>";
                  
              rename('$oldfile''$newname');
                }
              // while
              $verzeichnis->close(); 
              Wäre über weitere Hilfe sehr dankbar

              Kommentar


              • #8
                Versuchs mal mit

                PHP-Code:
                <?php
                $verzeichnis 
                dir("zib");
                chdir('c:\home\zib');
                //echo dirname('c:\home\zib\ ')."<br>"; 
                while($oldfile $verzeichnis->read()){
                  if(
                $oldfile != "." && $oldfile != ".."){
                    
                $olddatei explode("."$oldfile);
                    
                $length strlen($olddatei[0]);
                    
                $filename substr($olddatei[0],0,($length-3));
                    
                $ending substr($olddatei[0],-3,3);
                    
                $newname $filename.".".$ending;
                    echo 
                "\n$olddatei[0] $length $filename $ending $newname<br>";
                    
                rename($oldfile$newname);
                  }
                // while
                $verzeichnis->close();
                ?>

                Kommentar


                • #9
                  ich vermute, dass die klasse irgend ein verzeichnis nimmt. egal, wo es liegt. dadurch weiß das rename() nachher nicht, wo er was umbenennen soll, weil im Verzeichnis, in dem Du dich befindest keine Datei mit dem entsprechenden Namen vorhanden ist.

                  Kommentar


                  • #10
                    Erstma vielen Dank an Tobi der mir gleich geholfen hat.
                    Nach einiger überlegung haben wir folgendes funzendes Script "entwickelt":
                    PHP-Code:
                    $verzeichnis dir("zib");
                    chdir('c:\home\zib');
                    while(
                    $oldfile $verzeichnis->read()){
                      if(
                    $oldfile != "." && $oldfile != ".."){
                        
                    $olddatei explode("."$oldfile);
                        
                    $length strlen($olddatei[0]);
                        
                    $filename substr($olddatei[0],0,($length-3));
                        
                    $ending substr($olddatei[0],-3,3);
                        
                    $newname $filename.".".$ending;
                        echo 
                    "\n$olddatei[0] $length $filename $ending $newname<br>";
                        
                    rename($oldfile$newname);
                      }
                    // while
                    $verzeichnis->close(); 

                    Kommentar


                    • #11
                      Und es funktioniert wunderbar!!!

                      Kommentar

                      Lädt...
                      X