Batch Windows-Dateiensuche möglich?

Erstmal zu den Bestätigungen beim Copy, das läßt sich abschalten in dem wir der kopierten Datei direkt einen Namen geben.
Rich (BBCode):
@echo off
setlocal EnableExtensions
setlocal EnableDelayedExpansion
pushd "%~dp0"
cd "%~dp0"
if exist "search.txt" del /s /q "search.txt" >nul
for /r "e:\backup" %%A in (*.*) do echo %%A>>search.txt
for /f "delims=" %%i in (output.txt) do (
    set "count="
    for /f "delims=" %%A in (search.txt) do (
        if "%%~nA"=="%%~ni" (
            set /a count+=1
            if "!count!"=="1" (
                xcopy "%%A" /cherky "E:\gefunden\%%~nxA"
                rem echo %%~nxA
            ) else (
                xcopy "%%A" /cherky "E:\gefunden\%%~nA_!count!%%~xA"
                rem echo %%~nA_!count!%%~xA
))))
pause
endlocal
exit

Das gibt den neuen Dateien den gefundenen Namen+Erweiterung direkt mit.
Ergänzung ()

Marvolo schrieb:
Zum einen sollen im Suchordner lediglich WhatsApp-relevante Dateien gefunden werden. Da sich im Suchordner aber auch Dateien befinden, auf die das nicht zutrifft, müssten sie vorher ausgeschlossen werden.
WhatsApp-Dateien haben einen sehr fest definierten Dateinamen und beinhalten fast immer ein "WA00..." im Dateinamen.
Ordnernamen in die Betrachtung einzubeziehen ist in Batch limitiert.

Allerdings ist WA0 zusammen mit dem /L Switch (buchstabengetreue Suche) ein recht brauchbarer Such-String.

Der neue Ansatz wählt auf dem Backup-Laufwerk nur Dateien die es im Namen haben. Das verkleinert den Index und sollte dann schneller gehen.
Rich (BBCode):
@echo off
setlocal EnableExtensions
setlocal EnableDelayedExpansion
pushd "%~dp0"
cd "%~dp0"
if exist "search.txt" del /s /q "search.txt" >nul
for /r "e:\backup" %%A in (*.*) do echo %%~nA | findstr /l "WA0" 1>nul && echo %%A>>search.txt
for /f "delims=" %%i in (output.txt) do (
    set "count="
    for /f "delims=" %%A in (search.txt) do (
        if "%%~nA"=="%%~ni" (
            set /a count+=1
            if "!count!"=="1" (
                xcopy "%%A" /cherky "E:\gefunden\%%~nxA"
                rem echo %%~nxA
            ) else (
                xcopy "%%A" /cherky "E:\gefunden\%%~nA_!count!%%~xA"
                rem echo %%~nA_!count!%%~xA
))))
pause
endlocal
exit
 
Zuletzt bearbeitet von einem Moderator: (Ende beigefügt)
  • Gefällt mir
Reaktionen: Marvolo
simpsonsfan schrieb:
Soll das Ganze denn mehrfach ausgeführt werden oder nur einmal?

Das wäre nur ein einmaliger Vorgang. Ich muss nur die gesamten WhatsApp-Mediadateien zusammensuchen, damit ich die wieder an den richtigen Ort auf dem Handy tun kann, damit die Chats funktionieren.

simpsonsfan schrieb:
Grob gesagt: Stört es, wenn der Rechner ohne Nutzerinteraktion eine Nacht über kopiert? Denn wenn nicht, dann muss man es ja auch nicht beschleunigen.

Den Laptop könnte ich so vielleicht mal laufen lassen, den Desktop-PC eher nicht, der ist noch von 2009 und zieht ordentlich Strom, wenn er mal ne ganze Nacht durchläuft.

simpsonsfan schrieb:
Und hast du zufälligerweise Python installiert? Mit os.path bspw. hat man schnell die Pfadmanipulationen.

Python habe ich am Laptop installiert, sowie auch GIT.

Also die ständige Nutzerabfrage, ob das jetzt ein Verzeichnis oder eine Datei ist, die braucht nicht sein. Ich dachte, die wäre verschwunden, nachdem ich den Zielpfad auf "\gefunden\" abgeändert hatte. Hat dann aber trotzdem immer wieder gefragt.

Am Wichtigsten wäre es halt, dass es die Pfadstruktur vom Originalverzeichnis beibehält. Sodass zumindest eine Unterscheidung stattfindet zwischen "WhatsApp Images bzw. Videos" und "WhatsApp Images bzw. Videos\sent"

Weil in "sent" die gesendeten Dateien liegen und im Rest die nicht-gesendeten.

Sonst endet das alles am Ende auf einer Ordner-Ebene und ich muss das alles wieder händisch in die passenden Unterordner verschieben bzw. erstmal recherchieren, welche Datei überhaupt wo hingehört.

Also die Original-Pfadstruktur wäre am wichtigsten von allen.
 
Ist die Abfrage mit der aktuellsten Ergänzung von @mae1cum77 (also aus #41) noch da? Also mit der Angabe von dem Dateinamen mit "E:\gefunden\%%~nxA"?
Ansonsten komme ich evtl. die Woche mal dazu, das so, wie ich es derzeit verstanden habe, in Python zusammenzustricken.

Behalte auf jeden Fall deine 25MB große Indexdatei mit allen Pfaden in dem Backupordner. Die muss man ja künftig nicht erneut erstellen sondern kann sie in kommenden Skripten direkt verwenden.

Um nochmal zusammenzufassen, was ich bisher verstanden habe:
  • Du hast Dateien (hauptsächlich .jpg und Video) in einem Backup
  • sämtliche Dateipfade in dem Backup sind mittlerweile in einer 25MB großen Textdatei (index.txt) aufgelistet
  • Du hast eine Datei "search.txt" mit Dateipfaden (bspw. "/sdcard/WhatsApp/Media/WhatsApp Images/IMG-2018123e-WA001.jpg")
  • Dateien, die in search.txt stehen, sollen aus den Dateien, die in index.txt stehen, anhand des Dateinamens gesucht und in ein neues Verzeichnis (E:\gefunden\) kopiert werden.
  • Du benötigst die Dateistruktur unterhalb von /Media/ weiterhin? Also bspw. "E:/gefunden/Media/WhatsApp Images/IMG-2018123e-WA001.jpg" und unter E:\backup liegt alles ebenfalls unter bspw. "E\backup\beliebige\Verschachtelung\Media/WhatsApp Images/IMG-2018123e-WA001.jpg"?

Den Mischmasch aus Forwardslash und Backslash bitte ignorieren, verwende ich hier einfach beide als Pfadtrenner.
 
Wenn es schon reicht, in einen normalen \gefunden\ und einen \gefunden\sent\ zu unterscheiden, wäre das möglich:
Rich (BBCode):
@echo off
setlocal EnableExtensions
setlocal EnableDelayedExpansion
pushd "%~dp0"
cd "%~dp0"
if exist "search.txt" del /s /q "search.txt" >nul
for /r "m:\test" %%A in (*.*) do echo %%~nA | findstr /l "WA0" 1>nul && echo %%A>>search.txt
for /f "delims=" %%i in (output.txt) do (
    set "count="
    for /f "delims=" %%A in (search.txt) do (
        if "%%~nA"=="%%~ni" (
            set /a count+=1
            if "!count!"=="1" (
                echo %%~pA | findstr /l "sent" 1>nul && (
                    xcopy "%%A" /cherky "E:\gefunden\sent\%%~nxA"
                )
                echo %%~pA | findstr /v "sent" 1>nul && (
                    xcopy "%%A" /cherky "E:\gefunden\%%~nxA"
                )
            ) else (
                echo %%~pA | findstr /l "sent" 1>nul && (
                    xcopy "%%A" /cherky "E:\gefunden\sent\%%~nA_!count!%%~xA"
                )
                echo %%~pA | findstr /v "sent" 1>nul && (
                    xcopy "%%A" /cherky "E:\gefunden\%%~nA_!count!%%~xA"
                )
))))
pause
endlocal
exit
 
  • Gefällt mir
Reaktionen: Marvolo
simpsonsfan schrieb:
Ist die Abfrage mit der aktuellsten Ergänzung von @mae1cum77 (also aus #41) noch da? Also mit der Angabe von dem Dateinamen mit "E:\gefunden\%%~nxA"?
Ansonsten komme ich evtl. die Woche mal dazu, das so, wie ich es derzeit verstanden habe, in Python zusammenzustricken.

Behalte auf jeden Fall deine 25MB große Indexdatei mit allen Pfaden in dem Backupordner. Die muss man ja künftig nicht erneut erstellen sondern kann sie in kommenden Skripten direkt verwenden.

Um nochmal zusammenzufassen, was ich bisher verstanden habe:
  • Du hast Dateien (hauptsächlich .jpg und Video) in einem Backup

Hauptsächlich .jpg / .jpeg / .JPG ; .mp4 / .MP4 ; .opus (Sprachnachrichten) und .webp (Stickers).

Im Grunde kann man sich an der Output.txt Datei orientieren - diese listet ja exakt die Dateipfade der Datenbank auf und damit analog dazu exakt die Dateien, die sie erwartet bzw. benötigt. Ich habe die output.txt-Datei mal oben verlinkt/hochgeladen. Status-Einträge sind nicht notwendig, bzw. müssen nicht berücksichtigt werden. Es geht tatsächlich nur um Bilder, Videos & Sprachnachrichten bzw. um alles aus der output.txt-Datei, außer die Status-Pfade.
simpsonsfan schrieb:
  • sämtliche Dateipfade in dem Backup sind mittlerweile in einer 25MB großen Textdatei (index.txt) aufgelistet

Ja, wobei ich am Überlegen bin, das Script nochmal neu laufen zu lassen und im Suchordner tatsächlich nur die ganzen WhatsApp-Dateien zu belassen, sodass die Suche schneller geht und nicht noch zig unnötige Dateien geindext werden müssen. Es geht ja ausschließlich um Dateien, die ein "WA00" im Namen haben.

simpsonsfan schrieb:
  • Du hast eine Datei "search.txt" mit Dateipfaden (bspw. "/sdcard/WhatsApp/Media/WhatsApp Images/IMG-2018123e-WA001.jpg")
Falls du damit, die oben verlinkte output.txt Datei meinst, dann ja.
simpsonsfan schrieb:
  • Dateien, die in search.txt stehen, sollen aus den Dateien, die in index.txt stehen, anhand des Dateinamens gesucht und in ein neues Verzeichnis (E:\gefunden\) kopiert werden.
Ja, allerdings möglichst unter Beibehaltung der originalen Ordnerstrukturen. Also Dateien, die in "WhatsApp Images" waren, sollten nun auch wieder in "WhatsApp Images" kopiert werden. Analog dazu WhatsApp Images/sent bzw. WhatsApp Videos/sent. Und Sprachnachrichten (die *opus-Dateien) sind generell alle nochmal in eigenen Unterordnern, je nach Datum. Also "WhatsApp Voice Messages\202402\" z.B.
simpsonsfan schrieb:
  • Du benötigst die Dateistruktur unterhalb von /Media/ weiterhin? Also bspw. "E:/gefunden/Media/WhatsApp Images/IMG-2018123e-WA001.jpg" und unter E:\backup liegt alles ebenfalls unter bspw. "E\backup\beliebige\Verschachtelung\Media/WhatsApp Images/IMG-2018123e-WA001.jpg"?

Aktuell nicht, aber ich werde mal den Backup-Ordner so aufräumen, dass tatsächlich möglichst nur noch die WhatsApp-Dateien drin liegen. Dann in jeweils verschiedenen Ordnern, die dann irgendwann aber alle dieselbe typische WA-Verzeichnisstruktur haben, meist beginnend mit Media/WhatsApp Images/IMG-20240203-WA00*/

Aktuell liegen im Backup-Ordner noch Backups vom DCIM Handy-Ordner, indem zwar zig Bilder und Videos sind, aber eben keine WA-Bilder/Videos und damit für die Suche nicht relevant.

Vielen Dank, euch, jedenfalls für die intensive Hilfe!
Ergänzung ()

mae1cum77 schrieb:
Wenn es schon reicht, in einen normalen \gefunden\ und einen \gefunden\sent\ zu unterscheiden, wäre das möglich:

Für Bilder und Videos würde das ausreichen.
Die Sprachnachrichten sind allerdings alle jeweils nach Jahr und Monat auch nochmal in eigenen Unterordnern (siehe Anhang) und diese Struktur ist sehr wichtig beizubehalten, weil sonst WA sie nachher in der App nicht zuordnen kann.
Bzw. anders gesagt: Der Dateipfad der Datenbank (in der output.txt-Datei angegeben) muss am Ende exakt identisch sein mit dem Dateipfad des Medienordners, auf den die Pfade in der Datenbank verweisen.
 

Anhänge

  • 20240617_233153.jpg
    20240617_233153.jpg
    149,3 KB · Aufrufe: 41
Zuletzt bearbeitet:
@Marvolo wäre sinnvoll für alle Daten den Pfad der output.txt als Referenz zu nehmen? Oder muß auch noch nach sent oder nicht unterschieden werden?

OK, nach checken deiner output.txt könnte man deren Ordner-Struktur als Referenz nehmen für die Sortierung. Dann fällt die Suche nach dem Ordner weg.

Frage wären die doppelten Dateien, ergibt keinen Sinn die umzubenennen. Da sollte nur eine am Ende übrig sein, oder?
 
Zuletzt bearbeitet von einem Moderator:
mae1cum77 schrieb:
wäre sinnvoll für alle Daten den Pfad der output.txt als Referenz zu nehmen? Oder muß auch noch nach sent oder nicht unterschieden werden?

Ich glaube, ich verstehe die Frage nicht ganz. Also wichtig wäre, dass nachher im "gefunden" Ordner das Ganze so aussieht:

Ist eine bestimmte Datei im Quellordner / Suchordner unter:

E:\Backups\Handy-Backups\WhatsApp\Media\WhatsApp Images\IMG-20240305-WA0001.jpg
E:\Backups\Handy-Backups\WhatsApp\Media\WhatsApp Images\sent\IMG-20220309-WA0010.jpg
E:\Backups\Handy-Backups\WhatsApp\Media\WhatsApp Videos\VID-20240305-WA0005.mp4
E:\Backups\Handy-Backups\WhatsApp\Media\WhatsApp Voice Notes\202341\PTT-20230305-WA0001.opus


Dann sollte es im Zielordner / Gefunden-Ordner so abgespeichert werden:

Gefunden\WhatsApp Images\IMG-20240305-WA0001.jpg
Gefunden\WhatsApp Images\sent\IMG-20220309-WA0010.jpg
Gefunden\WhatsApp Videos\VID-20240305-WA0005.mp4
Gefunden\WhatsApp Voice Notes\202341\PTT-20230305-WA0001.opus

Also die jeweilige Ordnerstruktur ist wichtig, denn würde es einfach sämtliche Dateien alles in \Gefunden\ kopieren, dann wären nachher .opus-Dateien, .mp4-Dateien und .jpg-Dateien alle gemischt im Gefunden-Ordner.
Da aber insbesondere Videos und Bilder je nach Sendeart (empfangen oder gesendet) nochmal durch Unterordner getrennt sind, kann ich nicht einfach alle .mp4 in den Video-Ordner packen und nicht alle .jpg in den Bilder-Ordner - da manche eben in den "sent"-Ordner kommen, andere nicht.

Und für Sprachnachrichten hat sowieso jede erstmal nochmal einen eigenen Unterordner, je nach Jahr und Häufigkeit im Jahr. Die Nummerierung bzw. die Logik der Nummerierung dort habe ich noch nicht entschlüsselt...
Ergänzung ()

PS: Die oben verlinkte output.txt-Datei bitte nicht als Quelle nehmen - ich merke gerade, die hat nicht die richtigen Pfade gelistet. Höchstens als visuelles Beispiel nehmen, aber nicht nach diesen Pfaden suchen lassen.
 
  • Gefällt mir
Reaktionen: s1ave77
@Marvolo alles klar. Würde es auch gehen im 'gefunden'-Ordner die Struktur mit \sdcard\WhatsApp Images\... zu erstellen, das wäre recht einfach umzusetzen.
 
mae1cum77 schrieb:
OK, nach checken deiner output.txt könnte man deren Ordner-Struktur als Referenz nehmen für die Sortierung. Dann fällt die Suche nach dem Ordner weg.

Ja, aber dazu muss ich sie nochmal neu hochladen. Ich merke gerade, die dort verlinkte enthält nicht die richtigen Pfade, leider.
 
mae1cum77 schrieb:
Frage wären die doppelten Dateien, ergibt keinen Sinn die umzubenennen. Da sollte nur eine am Ende übrig sein, oder?

In den allermeisten Fällen bräuchte es die doppelten Dateien nicht. Da ich aber eine Sonderbarkeit habe in meinen Backups, wo manchmal ein und derselbe Dateiname auf ein dann doch anderes Bild oder Video verweist (keine Ahnung, wie das so passieren konnte), wären für diese Fälle die doppelten Dateien doch wichtig. Denn bei diesen müsste ich dann manuell/händisch anhand des Inhalts prüfen, welche davon jetzt kontextuell im Chat die richtige wäre.

Also manchmal gibt es in dem einen Backup-Ordner eine IMG-20220304-WA-0001.jpg Datei die meinetwegen ein Schaf zeigt und 3 weitere identische tun das auch. Dann gibt es aber eine Vierte, die denselben Dateinamen hat, aber z.B. einen Tannenbaum zeigt.

Weiß nicht, wie WA das geschafft hat, aber in diesen wenigen Fällen kann ich das nur manuell mit Hilfe des Kontexts entscheiden, welche dieser Dateien nun die richtige ist zum Kopieren.
Ergänzung ()

mae1cum77 schrieb:
geht darum, ob die generell übernommen werden können. Das ist ja mit %%~pi möglich.

Die Datei-Struktur der output.txt kann übernommen werden - wichtig ist für mich am Ende nur, dass alles ab Media\ abwärts dann identisch ist mit den Quelldateien. Denn der Media-Ordner ist letztlich der, der dann aufs Handy ins Verzeichnis muss.
 
  • Gefällt mir
Reaktionen: s1ave77
OK, der neue Ansatz nimmt den Dateinamen und den Ordner-Pfad (zum Speichern) aus der output.txt und sortiert dann alle Funde nummeriert (wenn mehrere) in die entsprechenden Ordner ein, also z.B. \sdcard\WhatsApp\Media\WhatsApp Images\ oder wie auch immer der Ordner der Refernzdatei lautete.

So wird die Ordnerstruktur wie gewünscht aufgebaut. Hätte man fürher drauf kommen können.

Gerade getestet und er zeigt zu jedem Fund den zugehörigen Ordner aus der output.txt. Sollte etwa das sein, das du wünschst.

Wenn du die search.txt als Index erstellt hast, kannst du die grüne Parse-Zeile per REM oder :: auskommentieren. Dann durchsucht er den Index ohne die Platte nutzen zu müssen, die kommt erst beim Kopieren ins Spiel.

Rich (BBCode):
@echo off
setlocal EnableExtensions
setlocal EnableDelayedExpansion
pushd "%~dp0"
cd "%~dp0"
if exist "search.txt" del /s /q "search.txt" >nul
for /r "e:\backup" %%A in (*.*) do echo %%~nA | findstr /l "WA0" 1>nul && echo %%A>>search.txt
for /f "delims=" %%i in (output.txt) do (
    set "count="
    for /f "delims=" %%A in (search.txt) do (
        if "%%~nA"=="%%~ni" (
            set /a count+=1
            if "!count!"=="1" (
                xcopy "%%A" /cherky "E:\gefunden%%~pi%%~nxA"
            ) else (
                xcopy "%%A" /cherky "E:\gefunden%%~pi%%~nA_!count!%%~xA"
))))
pause
endlocal
exit

Nicht wundern %%~pi hat vorn und hinten ein \ also sieht das 'komisch' aus.
 
  • Gefällt mir
Reaktionen: Marvolo
Vielen Dank, probiere ich morgen direkt mal aus.
 
  • Gefällt mir
Reaktionen: s1ave77
Bin gespannt. War erstaunt, dass %%~pi trotz der normalen Slashes aus Linux in output.txt, den Pfad Windows-konform mit \ ausgibt. Ist hier praktisch :).
 
mae1cum77 schrieb:
Wenn du die search.txt als Index erstellt hast, kannst du die grüne Parse-Zeile per REM oder :: auskommentieren.

Diesen Schritt verstehe ich nicht. Ich bin mit Windows / Batch-Coding nicht so vertraut.

Was genau muss ich jetzt machen? Einfach dieses Script ausführen und gut ist, oder was hat es mit dieser Zeile da auf sich?
 
  • Gefällt mir
Reaktionen: s1ave77
Marvolo schrieb:
Was genau muss ich jetzt machen?
Die Zeile durchsucht jedesmal aufs neue das Laufwerk und erstellt einen Index. Wenn sich die Daten nicht ändern kannst du die Zeile (und die zum Löschen) auskommentieren. Dann wird die search.txt direkt genutzt.

Wenn also eine aktuelle search.txt existiert, das Skript anpassen:
Rich (BBCode):
@echo off
setlocal EnableExtensions
setlocal EnableDelayedExpansion
pushd "%~dp0"
cd "%~dp0"
:: if exist "search.txt" del /s /q "search.txt" >nul
:: for /r "e:\backup" %%A in (*.*) do echo %%~nA | findstr /l "WA0" 1>nul && echo %%A>>search.txt
for /f "delims=" %%i in (output.txt) do (
    set "count="
    for /f "delims=" %%A in (search.txt) do (
        if "%%~nA"=="%%~ni" (
            set /a count+=1
            if "!count!"=="1" (
                xcopy "%%A" /cherky "E:\gefunden%%~pi%%~nxA"
            ) else (
                xcopy "%%A" /cherky "E:\gefunden%%~pi%%~nA_!count!%%~xA"
))))
pause
endlocal
exit

Die beiden Doppelpunkte werden als kaputtes Sprungziel interpretiert und dadurch ignoriert. REM geht auch, ist aber langsamer, da der Code trotzdem geparst wird, ohne ihn auszuführen.
 
Also ich wollte die Index-Datei ohnehin nochmal neu erstellen lassen, nachdem ich händisch viele nicht relevante Dateien aus dem Quellverzeichnis rausgeschoben habe, sodass es möglichst nur die WhatsApp-Dateien indiziert.
 
  • Gefällt mir
Reaktionen: s1ave77
Ich bin leider erst jetzt wieder dazugekommen, hier weiterzumachen.

Die Pfadstruktur legt er jetzt an, aber die User-Abfrage kommt nach wie vor. Kann man das Ganze nicht vollständig automatisiert laufen lassen, sodass ich da nicht immer sagen muss, ob Verzeichnis oder Datei?

bla.jpg


Jedes Mal, wenn ich auf V für Verzeichnis klicke, legt es dann die gesamte Ordnerstruktur für die einzelne Datei neu an:

1718900494324.png


Eigentlich würde es der Übersicht halber reichen, wenn die Ordnerstruktur nur einmal da ist und dort eben die jeweiligen Dateien nach Ordner einsortiert sind.

PS: Das mit der Ordnerstruktur war mein Fehler, weil ich auf V für Verzeichnis geklickt habe, deswegen hat es im Verzeichnis nun nochmal ein Verzeichnis angelegt.
Aber wie gesagt: eigentlich sollte es ganz ohne meine Abfrage gehen und es alles selbst kopieren.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: s1ave77
Marvolo schrieb:
Eigentlich würde es der Übersicht halber reichen, wenn die Ordnerstruktur nur einmal da ist und dort eben die jeweiligen Dateien nach Ordner einsortiert sind.
Bei der Frage muß Datei gewählt werden :). Sonst erstellt er einen zusätzlichen Ordner.

Die kleinen Tücken bei Batch. Habe nicht daran gedacht, dass weder COPY noch XCOPY damit umgehen können, dass der Pfad in dem Fall nicht existiert.

Läßt sich umgehen, indem geschaut wird, ob der Pfad unter e:\gefunden\... existiert, wenn nicht, wird der Ordnerpfad erstellt und anschließend die Datei kopiert. Hat gerade im Test geklappt und keine Fragen mehr gestellt.

Code:
echo off
setlocal EnableExtensions
setlocal EnableDelayedExpansion
pushd "%~dp0"
cd "%~dp0"
if exist "search.txt" del /s /q "search.txt" >nul
for /r "e:\backup" %%A in (*.*) do echo %%~nA | findstr /l "WA0" 1>nul && echo %%A>>search.txt
for /f "delims=" %%i in (output.txt) do (
    set "count="
    for /f "delims=" %%A in (search.txt) do (
        if "%%~nA"=="%%~ni" (
            set /a count+=1
            if "!count!"=="1" (
                if not exist "e:\gefunden%%~pi" md "e:\gefunden%%~pi"
                copy "%%A" "e:\gefunden%%~pi%%~nxA" /y
            ) else (
                if not exist "e:\gefunden%%~pi" md "e:\gefunden%%~pi"
                copy "%%A" "e:\gefunden%%~pi%%~nA_!count!%%~xA" /y
))))
pause
endlocal
exit
 

Ähnliche Themen

Zurück
Oben