1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Ordner automatisch erstellen und Dateien verschieben

Discussion in 'Software allgemein' started by Powermarf, Apr 20, 2008.

Thread Status:
Not open for further replies.
  1. Powermarf

    Powermarf Byte

    Hallo

    Ich möchte gerne, dass in einem Ordner in dem mehrere Dateien liegen, automatisch ein Ordner erstellt wird´, der Ordner mit dem Namen der Datei benannt wird und dann diese Datei in den Ordner verschoben wird.

    Ich habe mich mal auf die Google Suche gemacht und folgendes gefunden:

    @echo off

    rem rekursiver Aufruf? (1.Parameter == /R)
    if %1.==/R. goto rekursiv


    rem ein Prameter vorhanden?
    if %1.==. goto no_params
    set src=%1
    :param_

    rem erster Prameter sollte der Ordner sein, wo's abgeht
    if not exist %src%\* goto err_param


    rem und nun für jede Datei innerhalb des Quellordners ...
    rem dabei ist:
    rem '%%i' die "For"-Variable
    rem '%0' ist das script selbst
    rem 1 '/R' die Markierung für den rekursiven Aufruf
    rem 2 '%src%' der Quellordner
    rem 3 '%%~fi' Laufwerk+Pfad+Name+Erweiterung der Datei
    rem 4 '%%~dpsi' Laufwerk+Pfad+Name+Erweiterung als '8.3'
    for %%i in (%src%\*.*) do call %0 /R "%src%" "%%~fi" %%~si
    goto end_batch


    rem --------------------------------------------------

    :rekursiv
    rem bin ich's selbst??? Ooops!
    if %3.==%0. goto exit_batch

    rem check %3 (Datei)
    if not exist %3 goto err_R_Datei

    rem "falschen" Ordner erstellen ...
    if exist %4__\* goto err_R_Dummy
    md %4__
    rem ... Datei verschieben ...
    move %3 %4__ >Nul
    rem ... und "falschen" Ordner korrigieren...
    move %4__ %3

    goto exit_batch


    rem --------------------------------------------------

    :no_params
    echo.
    echo. kein Ordner angegeben...
    echo. verwende aktuellen Ordner
    set src=.
    rem ... und Rücksprung
    goto param_
    rem echo. [Abbruch]
    rem echo.
    rem goto end_batch


    :err_param
    echo.
    echo. Ordner "%1" scheint nicht zu existieren, kein Zugriff oder nix drin!
    echo. [Abbruch]
    echo.
    goto end_batch

    :err_R_Datei
    echo. Kein Zugriff auf oder Datei "%3" existiert nicht!
    echo. [skip...]
    goto exit_batch

    :err_R_Dummy
    echo. Dummer Zufall...
    echo. Dummy-Ordner "%4__" existiert bereits!
    echo. [skip...]
    goto exit_batch


    rem --------------------------------------------------

    :end_batch
    rem falls noch irgendetwas zu sagen ist...
    pause

    :exit_batch



    Funktioniert super, nur das Problem ist, das der Ordner der erstellt wird immer die Dateiendung mit im Namen hat, wie kann man das beheben?


    Vielen Dank Marf
     
Thread Status:
Not open for further replies.

Share This Page