Ordner kopieren ??

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ordner kopieren ??

    Hallo liebe GM-Dler
    ich habe ein problem:

    henrik1235(nochmal danke) hatte mir ein script gegeben um einen ordner zu kopieren
    das funktionierte auch so weit nur es wurden nur datei aus dem ordner und keine unterordner kopiert
    so hab ichs versucht umzu schreiben aber ohne erfolg

    Das bearbeitete Skript:
    Spoiler anzeigen
    var dir,new_dir;
    dir=argument0+"\";
    new_dir=argument1+"\";
    directory_create(new_dir)
    var file;
    file=file_find_first(dir+"*",0)
    while(file!="")
    {
    file_copy(dir+file,new_dir+file)
    file=file_find_next();
    }
    file_find_close();


    file=file_find_first(dir,fa_directory)
    while(file!="")
    {
    directory_copy(dir+file,new_dir+file)
    file=file_find_next();
    }
    file_find_close();


    Könnte mir einer sagen was ich falsch gemacht hab?

    Schon mal danke im vorraus!

  • Es entsteht da durch eine Endlos schleife ;)
    Derzeit weiß ich keine Lösung. Ich guck mal.
    #edit
    Hier ist ne Batch Lösung:

    GML-Quellcode

    1. var file;
    2. file=file_text_open_write("temp.bat")
    3. file_text_write_string(file,"xcopy "+argument0+" "+argument1+" /D /E /Y /I")
    4. file_text_close(file)
    5. execute_program("temp.bat","",1)
    6. file_delete("temp.bat")
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von henrik1235 ()

  • Hatte gerade mal Lust das zu programmieren:

    Script "scr_directory_copy":

    GML-Quellcode

    1. // argument0 = source directory
    2. // argument1 = destination directory
    3. var name, list, count, i;
    4. if (directory_exists(argument0)) {
    5. directory_create(argument1);
    6. count = 0;
    7. list[count] = file_find_first(argument0+"\*",fa_directory);
    8. while (list[count] != "") {
    9. if (list[count] != "." && list[count] != "..") {
    10. count += 1;
    11. }
    12. list[count] = file_find_next();
    13. }
    14. file_find_close();
    15. for (i = 0; i < count; i += 1) {
    16. scr_directory_copy(argument0+"\"+list[i],argument1+"\"+list[i]);
    17. }
    18. } else if (file_exists(argument0)) {
    19. file_copy(argument0,argument1);
    20. }
    Alles anzeigen

    Man kann das Script als Erweiterung der "file_copy" Funktion ansehen, da es die gleichen Parameter nimmt und zudem auch zum Kopieren von Dateien eingesetzt werden kann.

    Aufruf:

    GML-Quellcode

    1. scr_directory_copy(working_directory+"\Ordner1",working_directory+"\Ordner2");

    Damit wird "Ordner1" im aktuellen Verzeichnis zu "Ordner2" im gleichen Verzeichnis kopiert (Wie oben erwähnt kann "Ordner1" auch eine Datei sein, welche dann ins gleiche Verzeichnis mit Namen "Ordner2" kopiert wird). Zu beachten ist, dass immer der volle Pfad zum Ordner anzugeben ist (weil "directory_create" dies verlangt).

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Bl@ckSp@rk ()

  • Bl@ckSp@rk schrieb:

    GML-Quellcode

    1. // argument0 = source directory
    2. // argument1 = destination directory
    3. var name, list, count, i;
    4. if (directory_exists(argument0)) {
    5. directory_create(argument1);
    6. count = 0;
    7. list[count] = file_find_first(argument0+"\*",fa_directory);
    8. while (list[count] != "") {
    9. if (list[count] != "." && list[count] != "..") {
    10. count += 1;
    11. }
    12. list[count] = file_find_next();
    13. }
    14. file_find_close();
    15. for (i = 0; i < count; i += 1) {
    16. scr_directory_copy(argument0+"\"+list[i],argument1+"\"+list[i]);
    17. }
    18. } else if (file_exists(argument0)) {
    19. file_copy(argument0,argument1);
    20. }
    Alles anzeigen

    Funktioniert dein script auch wenn man sag ich mal 2000 Fotos zu je 3MB kopieren will, oder müsste man es da modifizieren ?