Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : (BATCH) - Suche Ordnername in .txt - Wenn gefunden -> Löschen



Sairenji
27.03.2018, 20:13
Servus vllt kann mir hier jemand helfen. Und zwar habe ich eine .txt File mit Namen. Nun soll eine .bat die Ordner löschen von meiner Festplatte die in der .txt File stehen.

Order der geprüft werden soll: C:/Test/

in der .txt File steht (abgekürzt) :

A.Chivalry.of.a.Failed.Knight
Accel.World
Akatsuki.no.Yona
Aldnoah.Zero
Appleseed.XIII
Arpeggio.of.Blue.Steel
Assassination.Classroom
Atelier.Escha.und.Logy
Attack.on.Titan
Ghost.in.the.Shell
Gintama
God.Eater
Guardian.of.the.Spirit
Guilty.Crown
...

Nun soll er den Ordnernamen suchen anhand der .txt und dann diesen löschen.

habe schon ein wenig gegoogled, und den Befehl gefunden:



for /D %%a in ("C:\test\*") do findstr /c:"%%~nxa" "Ordnernamen.txt" || RMDIR /s /q "%%a"


Nur löscht er so alle Ordner die NICHT in der TXT stehen, was aber genau das gegenteil haben will...
kennt jemand da ein weg?

pythonfreak
27.03.2018, 21:23
FOR /f "delims=" %%G in (folders.txt) DO RMDIR /s /q "%%G"

udg
27.03.2018, 21:51
@ECHO OFF
Set dir=test
echo.
Echo Setting: "%dir%" as Directory within the Folder that you want to delete
echo -----------------------------------------------------------------------
::now delete your specified Folders
@del %dir%\aaa /F /Q
@del %dir%\bbb /F /Q
@del %dir%\ddd /F /Q
echo.
echo.
Echo Deleting all folders from: "%dir%" except CCC.
echo.
echo.
echo.
::and flush 'em
for /d %%p in (%dir%\aaa) Do rd /Q /S "%%p"
for /d %%p in (%dir%\bbb) Do rd /Q /S "%%p"
for /d %%p in (%dir%\ddd) Do rd /Q /S "%%p"
echo -----------------------------------------------------------------------
echo.
echo.
@echo All specified Folder deleted except CCC.
echo.
echo.
echo -----------------------------------------------------------------------
pause



Example:
Zippyshare.com - BatchExample_withFolders.rar (http://www44.zippyshare.com/v/bDN4CweO/file.html)

- - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -



FOR /f "delims=" %%G in (folders.txt) DO RMDIR /s /q "%%G"

tried:

your example is not looking in "folders.txt" file.
your batch has erased all folders next to the batch file but not that pointers in the folders.txt itself.


not working here

Sairenji
27.03.2018, 21:53
FOR /f "delims=" %%G in (folders.txt) DO RMDIR /s /q "%%G"

Danke aber ist denke nicht das was suche.

Nochmal als erklärung.

In der TXT steht:


A.Chivalry.of.a.Failed.Knight
Accel.World
Akatsuki.no.Yona
Aldnoah.Zero
Appleseed.XIII
Arpeggio.of.Blue.Steel
Assassination.Classroom
Atelier.Escha.und.Logy
Attack.on.Titan
Ghost.in.the.Shell
Gintama
God.Eater
Guardian.of.the.Spirit
Guilty.Crown
...

(ist abgekürzt)

Nun soll die .bat im Pfad C:/Test/ die Ordner löschen wie es in der .txt steht.

Also wird zb. der Ordner "C:/Test/Accel.World" gelöscht, wenn dieser existiert.
alle anderen ordnernamen die nicht in der .txt stehen sollen natürlich erhalten bleiben.





@ECHO OFF
Set dir=test
echo.
Echo Setting: "%dir%" as Directory within the Folder that you want to delete
echo -----------------------------------------------------------------------
::now delete your specified Folders
@del %dir%\aaa /F /Q
@del %dir%\bbb /F /Q
@del %dir%\ddd /F /Q
echo.
echo.
Echo Deleting all folders from: "%dir%" except CCC.
echo.
echo.
echo.
::and flush 'em
for /d %%p in (%dir%\aaa) Do rd /Q /S "%%p"
for /d %%p in (%dir%\bbb) Do rd /Q /S "%%p"
for /d %%p in (%dir%\ddd) Do rd /Q /S "%%p"
echo -----------------------------------------------------------------------
echo.
echo.
@echo All specified Folder deleted except CCC.
echo.
echo.
echo -----------------------------------------------------------------------
pause



Example:
Zippyshare.com - BatchExample_withFolders.rar (http://www44.zippyshare.com/v/bDN4CweO/file.html)

danke udg. geht das auch mit dem auslesen aus der .txt file? :D

udg
27.03.2018, 22:13
Aha...

Auf einmal geht es um Dateinamen und nicht mehr um Ordner, das ist ja wieder was ganz anderes.

Wo oder wie willst Du für die Batch vorher festlegen welche Namen gelöscht werden sollen? Die Batch kann schlecht hellsehen ;)

Da brauch ich eine bessere Erklärung.

VG

Sairenji
27.03.2018, 22:22
Irgenwie drück ich mich heute scheisse aus. Verzeih.
Es geht noch immer um Ordner.

In der .txt stehen die Ordnernamen die ich Online auf Gdrive habe.
Gelöscht werden sollen sogesagt die die Online sind auf GDrive (.txt FIle wird immer aktualsiert)
Local sollen nur die bleiben die nicht Online habe auf GDrive.


Die .txt hat um die 8000 Zeilen, jeder Ordnername hat eine neue Zeile, deswegen ist es nicht so einfach alles per hand zu prüfen und zu löschen.
Deswegen wollte ich das mit .bat und .txt machen.

udg
27.03.2018, 22:44
ich versuche es mal zu rekonstruieren:

- Online Sind deine Ordner auf GDrive die Ordner haben Releasenamen als Ordnernamen
- die Liste mit allen Namen hast Du lokal auf dem PC und in dieser Liste stehen
ZITAT:
In der .txt stehen die Ordnernamen die ich Online auf Gdrive habe.
ZITAT ENDE

weiter:
ZITAT:
Gelöscht werden sollen sogesagt die die Online sind auf GDrive (.txt FIle wird immer aktualsiert)
ZITAT ENDE

also soll ich in die Liste schauen, dann alle Ordnernamen finden die schon auf GDrive sind und in
einem anderen separaten Ordner löschen.

Richtig?

VG

Sairenji
27.03.2018, 23:01
Ja die .bat soll im Ordner D:\Downloads\Anime die Ordnernamen mit der .txt überprüfen.

Steht zb. "Dragonball.Z" in der .txt und es existiert auch ein Ordner mit den exakt gleichen Namen in D:\Downloads\Anime dann soll dieser Ordner gelöscht werden.

Die Codezeile aus dem Startpost macht leider genau das Gegenteil, die löscht alle Ordner die nicht in der .txt stehen.

udg
30.03.2018, 05:04
ok. in Arbeit
Ich mach dir das ordentlich zurecht

- - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -

kannst Du mir bitte mal eben per PN eine deiner Text Dateien schicken, damit ich das noch prüfen kann, müssen keine 8000 drin stehen.

- - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -

LocalGDrive//Sync. v1-2018.03.28

Request Sairenji
Idee: inc
Code: inc aka udg @unknown design group 2018
System: Windows XP bis Windows 10 auf 32 und 64 Bit kompatibel

https://www.szenebox.org/images/_imported/2018/03/82.jpg

VirusTotal Analyse (https://www.virustotal.com/#/file/3c23701cd5979868819deaaf622ebe05c58a991d9b3696eb78 183a2c306d26eb/details)


Download: Uploaded.net

hab einen BUG GEFUNDEN. WIRD ÜBERARBEITET. LINK FOLGT in KÜRZE

BUG Eleminiert!
Neue Version online
LocalGDriveSyncV1.rar (http://ul.to/n8wb9d3v)



Dein Tool liest eine *.Text Datei ein, welche Zeile für Zeile deine Ordnernamen beinhaltet.

1. Button öffnet den Dialog zum laden deiner Text Datei. Im Eingabefeld darunter kann die Datei auch per Drag and Drop reingezogen werden

2. Button öffnet den Dialog, Ordner auszuwählen, in dem sich deine Ordner mit den selben Namen befinden die in der Text Datei stehen

3. Button startet den Löschvorgang in deinem Ordner. Hier wird im Speicher verglichen was in deiner Textdatei steht und ob diese Namen im Ordner ebenfalls vorhanden sind
alles andere bleibt davon unberührt.