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
Kommentar vom Moderator Biber am 07.10.2009 um 11:49:30 Uhr
Verschoben von "Tools & Utilities" nach "Batch & Shell".
GELÖST

Suchausdruck in Datei schreiben

Frage Entwicklung Batch & Shell

Mitglied: bodyparts

bodyparts (Level 2) - Jetzt verbinden

06.10.2009, aktualisiert 07.10.2009, 3934 Aufrufe, 9 Kommentare

Hallo,

ich muss über eine Ordner einen Ausdruck in TXT Dateien suchen, wird dieser Ausdruck gefunden, möchte ich gerne eine Liste haben in der steht in welchem Ordner diese Datei bzw der Ausdruck liegt.

"Mein" Überlegung auf Basis eines anderen Posting

mfg an Bastla

@echo off & setlocal

set "Ordner=X:\Daten\"
set "Datei=Daten_info.txt"
set /P suche=Wert eingeben:


for /d %%i in ("%Ordner%*.*") do call :ProcessDir "%%i"

goto :eof

:ProcessDir

if not exist "%~1\%Datei%" goto :eof

set /p Name=<"%~1\%Datei%"
echo %Name%
pause
if %Name%=%suche% then echo %Name%%Ordner% >> %Ordner%Ausgabe.txt


goto :eof



In der Datei Ausgabe.txt sollten dann die Ordner gelistet sein indem der Ausdruck liegt bzw in der txt Datei steht.

gruß
Mitglied: Biber
06.10.2009 um 20:40 Uhr
Moin bodyparts,

drei Rückfragen.

1) warum postest Du diese Frage unter "Tools & Utilities?

2) Verbietet dir deine Religion das Verwenden von Codetags? Soll ich mal koschere besorgen?

3) Wieso fackelst du das Ganze nicht mit einem Oneliner vom CMD-Prompt aus ab?
01.
@for /d %i in (X:\Daten\*) do @Findstr /i  /C:"Dein Suchwert" %i\Datei_info.*>nul && @echo %i
Grüße
Biber
Bitte warten ..
Mitglied: bodyparts
07.10.2009 um 09:13 Uhr
Moin Biber....

zu 1. darfst es gerne verschieben
zu 2. ich glaube nicht, gerne darfst du mir die Codetags erklären bzw eine Link senden
zu 3. würde ich gerne, evtl denke ich zu umständlich

beim testen blickt die batch einmal kurz.... selbst eine Pause stop diese nicht.... werden Unterordner berüchsichtigt? Es brauchen nur *.txt Dateien durchsucht werden.

meine Änderungen...

@for /d %i in (C:\Daten\*) do @Findstr /i /C:"HAUS C" %i\Daten_info.*>nul && @echo %i

pause

sorry noch ohne "Tags"

gruß
Bitte warten ..
Mitglied: Biber
07.10.2009 um 12:07 Uhr
Moin bodyparts,

Zitat von bodyparts:
Moin Biber....

zu 1. darfst es gerne verschieben
DONE.

zu 2. ich glaube nicht, gerne darfst du mir die Codetags erklären bzw eine Link senden
Wenn du einen Beitrag/einen Kommentar schreibst, dann siehst du oberhalb des texteingabefensters einen Link namens "Formatierungshilfe". Wenn du dort klickst, geht ein zusätzliches Popup-Fensterchen auf, in dem u.a. die Formatierung von Quellcode beschrieben wird.
Wenn Du Programmcode, z.B. einen Batchschnipsel mit Zeilennummern und ansonsten so, wie er per Copy&Paste hier ankommt posten willst, dann schreibe vor den Quellcode ein "< code >" und nach der letzten Quellcodezeile ein ">/ code >" jeweils ohne Anführungszeichen und Leerzeichen.

zu 3. würde ich gerne, evtl denke ich zu umständlich
Jein... ich würde eher sagen, wenn du von "übernommenem" Sourcecode ausgehst und den versuchst so hinzubiegen, dass er bei dir passt, dann besteht immer die Gefahr, das es viel umwegiger wird, als wenn du den direkten Weg gehst (=" deine eigene Lösungsstrategie entwickelst")

beim testen blickt die batch einmal kurz.... selbst eine Pause stop diese nicht....
Weil es keine Batch-Datei ist, sondern nur eine Zeile, die du direkt vom CMD-Prompt abfeuern solltest.
Bitte öffne dir ein CMD-Fenster ("Start"->"Ausführen"->cmd [ENTER].

Später, wenn es funktioniert, kannst du es als batchdatei speichern und dazu alle einfachen %-zeichen (%i, %j...) in doppelte %-Zeichen ändern (%%i, %%j..).
Später!

werden Unterordner berüchsichtigt?
Ja, aber nur (wie in bastlas Vorlage) EINE Ebene unterhalb des Startverzeichnisses C:\Daten.
Es brauchen nur *.txt Dateien durchsucht werden.
Okay, das war Tipp-Faulheit von mir, dann statt
01.
@for /d %i in (C:\Daten\*) do @Findstr /i /C:"HAUS C" %i\Daten_info.*>nul && @echo %i
jetzt neu.
01.
@for /d %i in (C:\Daten\*) do @Findstr /i /C:"HAUS C" %i\Daten_info.txt>nul && @echo %i
Grüße
Biber
Bitte warten ..
Mitglied: bodyparts
07.10.2009 um 12:24 Uhr
okay... danke erstmal...

ich habe mich schon über die %i gewundert, warum mal 1mal bzw dann wieder 2mal. Warum ist das so, wenn ich fragen darf?

dirket in der cmd Box sieht es gut aus.... könntes du die Ordner noch abfangen in dem keine Datei ist?

gruß
Bitte warten ..
Mitglied: Biber
07.10.2009 um 12:43 Uhr
Moin bodyparts,

zu deiner ersten Frage (warum %i am CMD-Prompt und %%i im Batchfile):

Die CMD.exe, die "Windows-Shell" kann
  • entweder interaktiv von der so genannten "Eingabeaufforderung" genutzt werden, jeweils eine Befehlszeile gefolgt von ENTER, dann die Ausführung
  • oder im Batchmodus, mehrere Befehlszeilen nacheinander ohne Benutzerinteraktion.

Im beiden Modi sind jeweils einige Befehle des gesamten Befehlssatzes wirkungslos (z.B goto am CMD-Prompt); ein weiterer Unterschied ist die Schreibweise der dynamischen Variablen (== fie Laufvariablen der FOR-Anweisungen). Nimm es einfach als gatesgegeben hin.

Zweite Frage, Ordner ignorieren, die keine Datei dieses Namens enthalten
01.
@for /d %i in (C:\Daten\*) do @Findstr /i /C:"HAUS C" %i\Daten_info.txt>nul 2>nul && @echo %i
Grüße
Biber
Bitte warten ..
Mitglied: bodyparts
07.10.2009 um 13:21 Uhr
Hallo Biber,

in der Shell sieht es gut aus!

Jetzt in einer Batch mit Eingabe des suchwerts und Ausgabe in eine Datei die den Namen des Suchwertes enthält, so der Ursprungsgedanke....

01.
 
02.
set /P suche=Wert eingeben: 
03.
 
04.
 
05.
@for /d %%i in (C:\Daten\*) do @Findstr /i /C:"%suche%" %%i\Daten_info.txt>nul 2>nul && echo >> c:\Daten\%suche%.txt %%i 
06.
 
kein Ergebniss...

erkennst du den Fehler?

Grüße Bodyparts
Bitte warten ..
Mitglied: Biber
07.10.2009 um 13:47 Uhr
Moin bodyparts,

der Teil nach dem "&&" (==wenn was gefunden) ist noch nicht ganz richtig.

Die normale Syntax einer Echo-Umleitung ist:
ECHO text-zum-umleiten [>|>>] zieldatei
..also in Deinem Fall
... Echo %%i>>"c:\daten\%suche%.txt"

Das Ziel (c:\datan\%suche%.txt) habe ich in Anführungszeiechen gesetzt, fall der Suchstring aus mehreren Teilen besteht/ein leerzeichen einschliesst.

Grüße
Biber
Bitte warten ..
Mitglied: bodyparts
07.10.2009 um 14:14 Uhr
Hallo Biber,

es läuft. Perfekt!

den echo Befehl kenn ich eingentlich, aber halt ein Fehler. Denn Suchstring hätte ich mir denken können, das der nicht in Anführungszeichen kommt.

Danke Dir.

Gruß Bodyparts
Bitte warten ..
Mitglied: bodyparts
08.10.2009 um 13:46 Uhr
Hallo Biber,

ich würde gerne die Frage aus meinem letzen Posting gerne hier ansetzen, weil es eine Ergänzung der "Suche" bzw ein Listing sein soll von dem was gesucht und in die Datei geschrieben worden ist.

Die Batch läuft ja prima, jetzt möchte ich gerne den gesuchten Wert als Liste vor der neuen Abfrage in der Batch anzeigen lassen.

Also

01.
Echo %%i>>"c:\daten\gesuchte_werte.txt"
Dazu hast du ein Posting beantwortet.

01.
@echo off & setlocal  
02.
for /f "usebackq delims=" %%i in ("c:\daten\gesuchte_werte.txt") do "set A=%%i" & call :ProcessLine 
03.
goto :eof 
04.
 
05.
:ProcessLine 
06.
 
07.
echo Gelesene Zeile: %A%  
08.
::Auswertung hier  
09.
if /i "%A%"=="Start" goto :Start  
10.
 
11.
usw
Jetzt soll in der Anzeige eine Auswahl möglich sein die dann zum Ordner springt und dort eine jpg Datei öffnet.

Ein Abfrage soll nun klären ob man zu dem Ordner wechseln möchte mit ( start explorer %ordner% )

Hoffe das es okay ist ,wenn das Posting ergänzt wird.

Die fertige Batch verwaltet Fotos und gibt nach Suchwerten dem User die Möglichkeit direkt in den Ordner zu springen.
Kann man wohl eine jpg Datei in der Batch anzeigen? Ich würde jetzt ein Tool suchen welches aus der Batch springt die Datei anzeigt und wenn nicht zb ein "j" für ja gedrückt wird wieder in die Abfrage geht.

gruß bodyparts
Bitte warten ..
Ähnliche Inhalte
Perl
Wert in Datei schreiben
gelöst Frage von infowarsPerl

Moin, ich versuche gerade eine Möglichkeit zu finden mit der User über den Browser sich bzw. ihre IP freischalten ...

Batch & Shell
Schreiben eines Strings mit Leerzeichen in eine Datei
gelöst Frage von c20082005Batch & Shell6 Kommentare

Hallo, nach langem Rum- und Ausprobieren möchte ich Euch um Hilfe bitten für folgendes Problem: Ich möchte mit einer ...

Batch & Shell
Batch Eingabe in Datei schreiben
gelöst Frage von MedicalAdBatch & Shell2 Kommentare

Hallo Leute, ich habe folgendes Problem, ich möchte ein Batch Programm was nacheinander > Computername, IP Adresse, Aufstellungsort und ...

Batch & Shell
Bestimmte Zeile aus mehreren Dateien in eine neue Datei schreiben
gelöst Frage von Oggy76Batch & Shell5 Kommentare

Hallo zusammen, meine Kenntnisse in Sachen batch/shell sind ehr auf Anfängerniveau zu sehen. Grund -basics im CMD-Prompt sind vorhanden, ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 52 MinutenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 1 StundeMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 8 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...