Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Diverse Verzeichnisse per script nach txt durchsuchen und verschieben

Frage Entwicklung Batch & Shell

Mitglied: minicoop

minicoop (Level 1) - Jetzt verbinden

29.01.2010, aktualisiert 13:33 Uhr, 4088 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
01.
for /R /D %a in (*) do copy "%a" C:\Test
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:
findstr /m /s /i /c:"Teil 3" "C:\Batches6C\*.txt"
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...
01.
for /R %%B in (*) do ( 
02.
	if %%~xB==.txt ( 
03.
			copy "%%B" C:\Test 
04.
05.
)
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:
for /R %%B in (*.txt) do copy "%%B" C:\Test >nul
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:
for /D %%b in ("C:\Batches6C\*.*") do copy "%%b\*.txt" "C:\ziel\out" >nul
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 ..
Ähnliche Inhalte
Windows 7
Txt Datei mit findstr durchsuchen
gelöst Frage von 126594Windows 72 Kommentare

Hallo zusammen! Leider komme ich gerade an meine Grenzen und weiß nicht mehr weiter, jetzt hoffe ich hier, den ...

Batch & Shell
Batch zum durchsuchen eines Verzeichnisses inkl. löschen
gelöst Frage von zeroblue2005Batch & Shell4 Kommentare

Hallo Zusammen, ich weiß garnicht, ob man das was ich vorhabe überhaupt so lösen kann aber ich lege einfach ...

Batch & Shell
Script zum Archivieren des Inhalts diverser Verzeichnisse als zip oder rar mit einer Variableübergabe
gelöst Frage von BlattlausOGBatch & Shell10 Kommentare

Guten Abend Community, ich bin auf der Suche nach einer passablen Lösung meines Vorhabens und hoffe hier, wie auch ...

Batch & Shell
Mehrere Verzeichnisse in einen Script angeben
gelöst Frage von KnuefiBatch & Shell17 Kommentare

Hallo zusammen, ich brauche eure Hilfe. Ich habe unten stehendes Script zum löschen ältere Dateien in einen Unterordner. Nun ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 8 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 15 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 104 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless18 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...