Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

batch programm um Namen in der Datei zu suchen

Frage Microsoft

Mitglied: leitz

leitz (Level 1) - Jetzt verbinden

30.01.2007, aktualisiert 31.01.2007, 3849 Aufrufe, 9 Kommentare

Hallo Zusammen!!


Ich will eine batch datei schreiben,die soll in den Textdokumenten(Die Textdokumente sind alle in einem Ordner) nach bestimmten Namen suchen. Die Textdokumente, die den Namen enthalten, sollen entweder woanders hin kopiert oder markiert werden oder irgendwie auffallen.

LG Sarah
Mitglied: Tundra
30.01.2007 um 15:31 Uhr
Hi Sarah,

was ist Deine Frage, da Du noch nicht eine Zeile Code geschrieben/gepostet hast.

Daher auch nur eine allg. Antwort.

Durchsuche mit for each das Verzeichnis nach Dateien, öffne jede Datei, durchsuche sie mit dem Suchbegriff und führe dann eine Operation aus.

Grüße
Guido
Bitte warten ..
Mitglied: AxelHahn
30.01.2007 um 18:09 Uhr
Hi Sarah,

schaue dir die Hilfe von findstr an. Damit kannst du
- rekursiv in Dateien nach textinhalt suchen
- normale und reguläre Suchausdrücke verwenden (oder eine Liste mit Suchbegriffen als Liste angeben)

Poste deinen Code und sage, wo du nicht weiterweist.


Viele Grüsse
-= Axel =-
Bitte warten ..
Mitglied: leitz
30.01.2007 um 22:32 Uhr
Hallo nochmals,

Erstmal danke für eure Hilfe Guido und Axel. Ich habe diesen Abend lange herum gebastelt und versucht mit eurer Hilfe, was auf die Beine zu stellen.Leider ohne richtigen Erfolg.


Was ich irgendwie geschafft habe, ist dieser nicht funktionsfähige Befehl.Wollte mal von euch hören was ihr davon hält oder ob es überhaupt so funktionieren kann.


FOR %%i in (Pfad des Orders indem gesucht werden soll) do findstr \M "name des zu suchenden strings" [Laufwerk:][Pfad](Pfad des Ordnes indem gesucht werden soll)


Dazu habe ich diesen Befehl im internet gefunden.Ich denke dieser Befehl kann mir helfen in einem bestimmten Ordner in die Datein hineinzusehen.Bin mir jedoch nicht sicher.

dir /a:-d | findstr “^05.04.2001”
zeigt alle Dateien im aktuellen Verzeichnis mit dem Datum 05.04.2001 an

nochmals Danke

LG Sarah
Bitte warten ..
Mitglied: Dani
30.01.2007 um 23:34 Uhr
Hi,
also du möchtest innhalb der einzelenen Dokumenten suchen?! Ja - Dann benutz mal diesen Batch:
01.
@ECHO off 
02.
 
03.
SET dir_src=C:\test\123 
04.
SET dir_des=C:\rrr 
05.
SET string= 
06.
 
07.
FOR /f %%a IN ('DIR /b /s "%dir_src%"') DO ( 
08.
	FOR /f %%b IN('TYPE "%dir_src%\%%a" ^|FINSTR /i /m "%string%"') DO ( 
09.
		COPY "%dir_src%\%%b" "%dir_des%" /y 
10.
11.
)
Bei der Pfadangabe am Ende den "\" weglassen!! Ansonsten die Pfadanpassen.

dir_src: Dort liegen deine txt-Dateien
dir_des: Dort wird die entsprechende Datei hinkopiert, wenn die Zeichenfolge xxx vorhanden ist
string: Suchbegriff

Leider bin ich nicht zum testen gekommen!


Gruß
Dani
Bitte warten ..
Mitglied: leitz
31.01.2007 um 11:44 Uhr
HI Dani,
Danke für deine Hilfe.Ich habe den ganzen Morgen versucht, den batch laufen zu bringen.ohne erfolg.ich schreibe mal auf, was ich versucht habe(sieht aber genau so aus wie dein skript).

@ECHO off

if ERRORLEVEL goto Fehler

SET dir_src=C:\Dokumente und Einstellungen\test\Desktop\Neuer Ordner
ECHO %dir_src%
pause
SET dir_des=C:\Dokumente und Einstellungen\test\Desktop\Neuer Ordner\kopierte Datein
ECHO %dir_des%
pause
SET string= test
ECHO %string%
pause

FOR /f %%a IN ('DIR /b /s "%dir_src%"')
DO (
FOR /f %%b IN ('TYPE "%dir_src%\%%a" ^| FINDSTR /i /m "%string%"') DO
(COPY "%dir_src%\%%b" "%dir_des%" /y)
)

:Fehler
echo Fehler aufgetreter

:P1
echo OK

LG Sarah
Bitte warten ..
Mitglied: Dani
31.01.2007 um 13:31 Uhr
Hi Sarah,
also ich habe es grad probiert und die Fehler beseitigt. Kl. Denkfehler waren drinne!

So sieht die Finalversion aus:
01.
@ECHO off 
02.
 
03.
SET dir_src= 
04.
SET dir_des= 
05.
SET string= 
06.
 
07.
FOR /f "delims=" %%a IN ('DIR /b /s "%dir_src%"') DO ( 
08.
	FOR /f %%b IN ('TYPE "%%a" ^|FINDSTR /i "%string%"') DO ( 
09.
		COPY "%%a" "%dir_des%" /y 
10.
11.
12.
pause
Viel Spaß....


Gruß
Dani
Bitte warten ..
Mitglied: bastla
31.01.2007 um 14:02 Uhr
Hallo Sarah!


Und von mir noch eine etwas gestraffte Variante:
01.
@echo off & setlocal 
02.
set "dir_src=C:\Dokumente und Einstellungen\test\Desktop\Neuer Ordner" 
03.
set typ_src=*.txt 
04.
set "dir_des=C:\Dokumente und Einstellungen\test\Desktop\Neuer Ordner\kopierte Datein" 
05.
set "string=test" 
06.
for /f "delims=" %%i in ('findstr /i /m "%string%" "%dir_src%\%typ_src%"') do copy /y "%%i" "%dir_des%" || echo Fehler aufgetreten! 
07.
echo OK
Anmerkungen:

IF ERRORLEVEL ist kein unmittelbares Pendant zu "On Error ...", sondern müsste nach jeder "zu überwachenden" Anweisung etwa so verwendet werden (siehe auch "if /?"):
01.
copy ... 
02.
if errorlevel 1 goto :Fehler
Bei den "set"-Anweisungen habe ich zur Sicherheit Biber's Spezialsyntax verwendet (die Anführungszeichen stellen sicher, dass alle benötigten Leerstellen in die Variable übernommen werden - beim der von mir ergänzten Variable für den Dateityp sollte es keine geben). Bei Deinem "SET string= test" oben hattest Du übrigens ein (vermutlich ungeplantes) Leerzeichen vor "test".
"delims=" sorgt dafür, dass die Pfade der gefundenen Dateien vollständig in %%i gespeichert werden (einmal mehr die Leerstellen-Problematik).
"findstr /m" listet die Dateien, in denen der Suchtext enthalten ist, samt Pfadangabe auf, daher kann das Ergebnis (als %%i) gleich als Quelle für das Kopieren verwendet werden.
Das angefügte "||" entspricht einem "if errorlevel 1" (Gegenstück wäre "&&" - der darauf folgende Befehl würde nur ausgeführt, wenn kein Fehler aufgetreten ist).

Grüße
bastla

[Edit] @Dani - Sorry, hatte nicht nochmal reingeschaut ... [/Edit]
Bitte warten ..
Mitglied: leitz
31.01.2007 um 15:59 Uhr
Vielen Vielen Dank Jungs, hat alles wunderbar geklappt.

LG Sarah
Bitte warten ..
Mitglied: Dani
31.01.2007 um 17:37 Uhr
Hi Sarah,
wunderbar...das freut uns zuhören! *gg*

Bitte den Thread als "gelöst" markieren. Dazu oben bei der Problembeschreibung auf editieren klicken und den entsprechenden Hacken setzen. Danke...


Gruß
Dani
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell oder Batch-Task: Kopiere Datei x mal und benenne diese um (2)

Frage von Lorderich zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch nur neueste Datei mit bestimmten Dateianfang kopieren (3)

Frage von Peter32 zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch Konfliktdateien in Dropbox suchen (4)

Frage von nobbi49 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...