gelöst Diverse Verzeichnisse per script nach txt durchsuchen und verschieben

Mitglied: minicoop

minicoop (Level 1) - Jetzt verbinden

29.01.2010, aktualisiert 13:33 Uhr, 4249 Aufrufe, 13 Kommentare

Hallo,

ich stehe gerade auf dem schlauch und benötige eure Hilfe:

folgender problematik:
in c:\batches6c
gibt es diverse unterordner,
batch001
batch002 usw.
in diesen unterordnern befinden sich dateien, hier mit der endung txt; doppelte Namen kann man ausschliessen.
gewünscht ist eigentlich nur, diese aus den verzeichnissen raus in ein sammelverzeichnis zu legen,
zur weiteren verarbeitung..

ich suche mir alle möglichen txt-dateien mit dir /s /b, diese ausgabe speichere ich mir zwischen in eine txt datei
und dann möchte ich das ganze verschieben.
aber das verschieben klappt nicht. aus mir noch nicht erkenntlichen gründen..

setzte ich ein echo vor meinem verschieben, kommt folgende ausgabe:
for /f "delims=" %d in ('findstr /e /i "C:\Batches6C\Batch001\10.txt" c:\ziel\gefunden.txt') do (move C:\Batches6C\Batch001\10.txt C:\ziel\out)
for /f "delims=" %d in ('findstr /e /i "C:\Batches6C\Batch001\11.txt" c:\ziel\gefunden.txt') do (move C:\Batches6C\Batch001\11.txt C:\ziel\out)
for /f "delims=" %d in ('findstr /e /i "C:\Batches6C\Batch002\20.txt" c:\ziel\gefunden.txt') do (move C:\Batches6C\Batch002\20.txt C:\ziel\out)
for /f "delims=" %d in ('findstr /e /i "C:\Batches6C\Batch002\21.txt" c:\ziel\gefunden.txt') do (move C:\Batches6C\Batch002\21.txt C:\ziel\out)
for /f "delims=" %d in ('findstr /e /i "C:\Batches6C\Batch003\30.txt" c:\ziel\gefunden.txt') do (move C:\Batches6C\Batch003\30.txt C:\ziel\out)


und hier das script.

@echo off & setlocal

REM Variablen setzen

set "quelle=C:\Batches6C"
set "ziel=C:\ziel\out"
set "gefundene=c:\ziel\gefunden.txt"
set Ext=.txt

set Prefix=Batch

REM Prüfung ob txt's und verzeichnisse überhaupt vorhanden sind
if not exist dir /b /s %quelle%\*%EXT% GOTO :EOF
if exist %gefundene% del %gefundene% /f
if not exist %ziel% mkdir %ziel%

:LOS
rem zeige mir alle txt dateien:
dir /s /b %quelle%\*%Ext%>%gefundene%

for /f "delims=" %%i in (%gefundene%) do call :ProcessFile "%%i"
goto :eof

:ProcessFile
for /f "delims=" %%d in ('findstr /e /i "%~1" %gefundene%') do (move %~1 %ziel%)

:EOF


Danke für eure Hilfe.

Nedim
Mitglied: Snowman25
29.01.2010 um 13:41 Uhr
Siehe hier: Flach kopieren

Wenn du
Noch ein wenig anpasst (test auf .txt etc.) dann hast du schon 'ne lösung

greetz Snow
Bitte warten ..
Mitglied: bastla
29.01.2010 um 13:58 Uhr
@Snowman25
Wozu das "/D" ?
Falls es übrigens tatsächlich darum ginge, Dateien mit einem bestimmten Inhalt (zB "Teil 3") zu suchen, würde ein für eine Schleife passendes "findstr" etwa so aussehen:
Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
29.01.2010 um 14:03 Uhr
damit Unterordner durchlaufen werden.
/R /D durchläuft den kompletten Tree vom Workdirectory aus
/D nur eine ebene von unterordnern

Auch zu sehen in dem von mir eingefügtem Link

greetz Snow
Bitte warten ..
Mitglied: bastla
29.01.2010 um 14:04 Uhr
@Snowman25
Da ja nur Dateien gesucht sind, genügt doch "/R" - mit "/R /D" erhältst Du als Ergebnis ja nur Ordner ...

Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
29.01.2010 um 14:15 Uhr
@bastla
Hab doch anfangs shcon geschrieben, dass es noch angepasst werden muss ;)

also passe ich das ganze jetzt mal an...
Anmerkung: getestet

Sry, anfangs war 'n Tippfehler drin
Bitte warten ..
Mitglied: bastla
29.01.2010 um 14:37 Uhr
@Snowman25
... wenn Du schon am Anpassen bist - wie wär's mit:
Grüße
bastla
Bitte warten ..
Mitglied: minicoop
29.01.2010 um 14:37 Uhr
owei owei..

habe mich jetzt beim "flach kopieren" durchgelesen...

das scheint mir doch umfangreicher zu sein als gedacht..
zumal ich ja nur eine unterbene durchsuchen muss.

melde mich nach dem testen erneut...

gruss
Bitte warten ..
Mitglied: bastla
29.01.2010 um 14:42 Uhr
Hallo minicoop!
zumal ich ja nur eine unterbene durchsuchen muss.
... weil es nur die eine Ebene gibt, oder weil darunter liegende Ebenen ausrücklich ausgenommen werden sollen?

Im ersten Fall wär's egal, und im zweiten Fall könnten wir doch noch das "/D" brauchen:
Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
29.01.2010 um 14:46 Uhr
mensch bastla,

jetzt lass ihn doch erst mal testen. :P

[[>nul]] ist auch nur 'ne Schönheits-OP
und Soweit ich das getestet hab (Script auf meine Eigenen Dateien losgelassen) werden auch Unterordner in beliebig tiefen Ebenen durchsucht.

greetz Snow

[EDIT: nicht gelesen, dass es 'ne ausnahme geben könnte]
Bitte warten ..
Mitglied: minicoop
29.01.2010 um 14:58 Uhr
Hallo Bastla,

mein Hauptverzeichnis lautet
c:\Batches6C

C:\Batches6C>dir /b /s
C:\Batches6C\Batch001
C:\Batches6C\Batch002
C:\Batches6C\Batch003
C:\Batches6C\Batch001\10.txt
C:\Batches6C\Batch001\11.txt
C:\Batches6C\Batch002\20.txt
C:\Batches6C\Batch002\21.txt
C:\Batches6C\Batch003\30.txt

aktuell sind dort jetzt drei Unterverzeichnisse, in denen ein paar txt dateien liegen.
es können mehrere Verzeichnisse werden, ich denke aber maximal 50,
aber nicht weiter verschachtelt.
Diese txt dateien wollte ich ja wegmoven, und danach die verzeichnisse löschen.

ich bin gerade noch dabei das script zu verstehen..
fällt mir aber recht schwer für einen freitag..
Bitte warten ..
Mitglied: Biber
05.02.2010 um 13:19 Uhr
Moin minicoop,

Nachfrage:
Zitat von minicoop:

ich bin gerade noch dabei das script zu verstehen..
fällt mir aber recht schwer für einen freitag..

Okay, okay... aber jetzt waren es schon fast ZWEI Freitage...
... plus ein paar andere Tage halbwegs in mitteleuropäischer Normalverteilung.

Bist du denn soweit gekommen, dass heute ein "Erledigt"-Haken dran könnte oder sind noch Fragen offen?

Grüße
Biber
Bitte warten ..
Mitglied: Snowman25
05.02.2010 um 13:24 Uhr
Ich glaub, du kannst hier zu machen Biber...
Letzer Login: gestern
Letzte Aktivität: Diverse Verzeichnisse per script nach txt durchsuchen und verschieben

greetz Snow
Bitte warten ..
Mitglied: minicoop
08.02.2010 um 08:51 Uhr
Hallo,

soso,
was immer mitgeloggt wird ..hähä

aber ja, kann geschlossen werden.
Bitte warten ..
Heiß diskutierte Inhalte
Benchmarks
M.2 SSD und RAM zu langsam
gelöst MarkowitschFrageBenchmarks22 Kommentare

Hallo zusammen, ich habe mir folgenden PC zusammengestellt : MB: ASUS - ROG Strix Z490-E Gaming Mainboard (90MB12P0-M0EAY0) CPU: ...

Datenbanken
SQL Null Abfrage
gelöst newit1FrageDatenbanken18 Kommentare

Hallo zusammen, ich versuche eine CSV in meine Datenbank zu importieren. Das klappt auch. Die CSV hat folgendes Format: ...

Internet
Wie baue ich ein sicheres Netzwerk auf?
gelöst BitLooserFrageInternet15 Kommentare

Moin moin zusammen:) Die Thema-Überschrift sagt eigtl. schon alles - Da ich vermute, dass dies eine doch recht häufige ...

Netzwerke
Aufbau Praxisnetzwerk mit Fragen (TI, Switch, Firewall, VoIP, Netzwerkdesign)
razorrFrageNetzwerke14 Kommentare

Hallo, ich bin neu hier, aber habe hier schon sehr lange im Forum mitgelesen bzw. mich schlau gemacht und ...

Router & Routing
OPNSense statt Endian Firewall
hannes.hutmacherFrageRouter & Routing14 Kommentare

Hallo zusammen, wir setzen hinter der pfSense, die die direkt am Internet hängt, noch eine Endian Firewall ein. Dazwischen ...

Backup
Veeam Backup-Server aus der Domäne nehmen
redhorseFrageBackup12 Kommentare

Guten Morgen, da in unserer Backupumgebung ein Hardwaretausch ansteht, konzipiere ich gerade Möglichkeiten die Sicherheit zu erhöhen. Konkret geht ...

Ähnliche Inhalte
Batch & Shell
Inhalt einer .txt per Script bearbeiten
gelöst hanni007FrageBatch & Shell2 Kommentare

Hallo Mitstreiter! Habe zu dieser Sache leider keinen alten Beitrag gefunden. Mein Problem ist daher folgendes: Ich habe eine ...

Batch & Shell
Script suchen und ersetzen in txt Datei
snboy2010FrageBatch & Shell13 Kommentare

Ein herzliches Hallo an alle hier. Ich bitte um Hilfe bei der Korrektur der Syntax. Ich möchte in einem ...

Batch & Shell

Letzte Zeichen in einer txt-Datei per Script entfernen

SvenHThomsenFrageBatch & Shell2 Kommentare

Hallo Admins, ich habe folgendes Problem: Wenn ich eine .txt-Datei mit dem Windows Explorer in ein anderes Serverlaufwerk kopiere, ...

Java

Net user per script aus txt oder csv für FTP

gelöst OlliPWSFrageJava15 Kommentare

Hallo Allerseits, ich muss auf einem FTP-Server IIS auf Win 2012 R2 per Script 500 x 100 User inkl. ...

Batch & Shell

Verzeichniss überwachen Datei kopieren und umbenennen

gelöst fischle63FrageBatch & Shell6 Kommentare

Hallo, Habe folgendes Problem: In einem Verzeichniss sind Dateien mit dem Suffix ".nd" enthalten. Bsp. "00000010.nd" Ich brauche eine ...

Batch & Shell

Txt-File splitten

gelöst apex.predator24FrageBatch & Shell5 Kommentare

Hallo Community Ich bräuchte eure Hilfe. Folgendes: wir müssen wir einen Kunden eine Batch-Datei oder PowerShell erstellen, welche eine ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud