ergerschlumpf
Goto Top

Findstr funktioniert nicht bei automatisch erzeugten Dateien

Ich krich die Krise

Hallo Leute,

seit ein paar Stunden versuche ich herauszufinden, warum findstr bei einigen Dateien problemlos das aushändigt, wonach man sucht und bei anderen Dateien eben nicht. Am Ende komme ich zu dem Ergebnis, dass findstr nicht bei durch andere Batchläufe erzeugte Dateien keine Suche durchführen kann. Wo ist eine solche Datei anders.

Was ich gemacht habe:

Eine Batch erstellt, die mir einen Wert aus der Registry ausliest und in eine Datei speichert.
In dieser Datei soll nun nach bestimmten Zeilen mit bestimmten Inhalten gesucht werden. Das funzt aber nicht mit findstr.
Kopiere ich den Inhalt dieser Datei in eine völlig neue und von mir persönlich erstellte Datei, dann kann ich alles wie gewohnt auslesen.

Gibts das? Benutze Windows 7, habe zu meiner Schande noch nicht auf XP getestet.

Aber damit ich heute Nacht ruhig schlafen kann, wollt ich das schon mal loswerden.

Dank an Euch für Antworten.

Content-Key: 182743

Url: https://administrator.de/contentid/182743

Printed on: April 23, 2024 at 13:04 o'clock

Member: Skyemugen
Skyemugen Mar 28, 2012 at 13:35:56 (UTC)
Goto Top
Aloha,

ganz mager ... grundsätzlich: Der Fehler liegt beim Anwender, denn das Vorhaben ist einwandfrei umsetzbar, abgesehen davon, dass das Speichern in eine Datei überflüssig ist ...

Ohne Ross & Reiter kann ich dir aber auch nur diese pauschale Antwort geben, da ich nicht weiß, wie dein Ablauf genau ausschaut ... eventuell startest du normal, speicherst die Datei auf C:\Windows oder wasweißich und nun benötigt die Batch Adminrechte(?)

greetz André
Member: pieh-ejdsch
pieh-ejdsch Mar 28, 2012 at 13:40:13 (UTC)
Goto Top
moin ergerschlumpf,

wenn die Dateien mit reg.exe ausgelesen werden dann müssen die Textdateien (reg) nach ANSI codiert werden.

Such nach dem Wert mit
type Datei.reg | findstr "wert"  

oder Suche gleich mit find.exe

Gruß Phil
Member: ergerschlumpf
ergerschlumpf Mar 28, 2012 at 13:48:10 (UTC)
Goto Top
mager hin oder her und Anwenderfehler möchte ich auch nicht ausschließen...

Ich werd mal genauer, ohne zu wissen, dass es anders (einfacher) geht.

Es soll ermittelt werden, welcher Benutzer welchen Netzwerkdrucker hat. Das realisiere ich mit:

IF NOT EXIST \\server\Pfad\%username%.txt (
call :INSTALL
) ELSE (
goto :EOF
)

REM Drucker auslesen
:INSTALL
regedit /E \\server\Pfad\%username%.txt "HKEY_CURRENT_USER\Printers\Connections" | findstr /I Printers\Connecti  


REM Abfrage abbrechen
:EOF
exit

Daraufhin wird pro Benutzer eine Datei angelegt, die diese Auskunft erteilt.

Genau diese txt-Datei kann ich mit findstr nicht durchsuchen, zumindest wird kein Wert angelegt. Kopiere ich den Inhalt in eine von mirerstellte Datei, geht es.
Member: ergerschlumpf
ergerschlumpf Mar 28, 2012 at 13:51:52 (UTC)
Goto Top
Danke, das hat geholfen.

Der Laie grüßt!
Member: Skyemugen
Skyemugen Mar 28, 2012 at 14:05:29 (UTC)
Goto Top
Aloha,

auf die Idee, dass jemand regedit /E verwendet ... und dann als .txt speichert ...

Ich hätte ja an
reg query "HKCU\Printers\Connections"|findstr /I Printers\Connecti>\\server\Pfad\%username%.txt  
gedacht, wegen Textdatei und nicht .reg-Datei erstellen face-wink

greetz André
Member: ergerschlumpf
ergerschlumpf Mar 28, 2012 at 14:59:25 (UTC)
Goto Top
Dank an den Adler.
Member: Skyemugen
Skyemugen Mar 29, 2012 at 05:24:32 (UTC)
Goto Top
Zitat von @ergerschlumpf:
Dank an den Adler.
[OT]eigentlich ja Falke, Jadefalke aber da der Vogel so eh nicht existiert und ursprünglich von einem Bild eines Adlers stammt, lass' ich es mal so stehen face-wink[/OT]