ralus67
Goto Top

Netzdrucker Pfad in Datei umleiten

Hallo Community

Ich habe in einer Reg Datei Netzwerkdrucker aufgelistet und möchte diese Drucker aus der Regedit Datei in eine zusätzliche Datei z.B txt oder cmd exportieren.
Ich möchte, dass nur die letzten Drucker, welche vom chrips0001 Server kommen exportiert werden und zwar in der richtigen Formatierung. Das heisst, der Export in die Datei müsste folgendermassen aussehen:

\\chrips0001\chrias1
\\chrips0001\chrias2
\\chrips0001\chribl1


Hier der Inhalt meiner Regdatei


[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices]
"Microsoft XPS Document Writer"="winspool,Ne00:"
"Microsoft Print to PDF"="winspool,Ne01:"
"Fax"="winspool,Ne02:"
"An OneNote 16 senden"="winspool,nul:"
"\\\\chrips0001\\chrias1"="winspool,Ne03:"
"\\\\chrips0001\\chrias2"="winspool,Ne04:"
"\\\\chrips0001\\chribl1"="winspool,Ne05:"


Wie kann ich das mit Hilfe eines Batches erstellen? Meiner Meinung nach müsste irgendwie nach chrips0001 gesucht werden, anschliessend die ganze zeile kopiert und die überflüssigen Zeichen wie \\ durch \ erstetzt, sowie winspool,nul und winspool Ne03, 04 und 05 gelöscht werden. Leider habe ich keine Ahnung, wie ich das in einer Batch lösen könnte. Kann mir jemand hier helfen?

Vielen Dank im Voraus für Eure Hilfe.

Content-Key: 514092

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

Printed on: April 16, 2024 at 08:04 o'clock

Mitglied: 141815
141815 Nov 11, 2019 updated at 12:14:18 (UTC)
Goto Top
@echo off
>export.txt (for /f tokens^=1-2^ delims^=^\^" %%a in ('type "D:\test.reg" ^| findstr /ic:"chrips0001"') do echo.\\%%a\%%b)  
Member: Ralus67
Ralus67 Nov 11, 2019 at 12:28:08 (UTC)
Goto Top
Hallo Calendar

Danke für deine Hilfe

Ich erhalte im File folgende Ausgabe. Wie kann ich jeweils die erste Zeile entfernt haben? Also ohne F:\>echo \\chrips0001\...... ?


F:\>echo \\chrips0001\chrias1
\\chrips0001\chrias1

F:\>echo \\chrips0001\chrias2
\\chrips0001\chrias2

F:\>echo \\chrips0001\chribl1
\\chrips0001\chribl1
Mitglied: 141815
Solution 141815 Nov 11, 2019 updated at 13:11:33 (UTC)
Goto Top
Dafür ist das @echo off da ! Hast wohl noch nie mit Batch gearbeitet wenn man so eine Frage stellt ...

Ergebnis ist hier in der Datei
\\chrips0001\chrias1
\\chrips0001\chrias2
\\chrips0001\chribl1
Also so wie in der Frage gewünscht. Ansonsten den Code oben noch mal "richtig" kopieren.
Member: Ralus67
Ralus67 Nov 12, 2019 at 07:55:05 (UTC)
Goto Top
Hallo Calendar

Wäre es möglich in der for /f Schleife auch noch eine Pause von 5 Sekunden einzubauen?
Mitglied: 141815
141815 Nov 12, 2019 at 08:17:05 (UTC)
Goto Top
timeout /t 5
Member: Ralus67
Ralus67 Nov 12, 2019 at 08:31:48 (UTC)
Goto Top
Du meinst etwa so?

export.txt (for /f tokens^=1-2^ delims^=^\^" %%a in ('type "D:\test.reg" ^| findstr /ic:"chrips0001"') do echo.\\%%a\%%b timeout /t 5)

oder mit einer pipe?

export.txt (for /f tokens^=1-2^ delims^=^\^" %%a in ('type "D:\test.reg" ^| findstr /ic:"chrips0001"') do echo.\\%%a\%%b | timeout /t 5)
Mitglied: 141815
141815 Nov 12, 2019 updated at 08:49:28 (UTC)
Goto Top
Du meinst etwa so?
Nö, wozu das ganze, was sollte das bringen???
Member: Ralus67
Ralus67 Nov 12, 2019 at 08:56:33 (UTC)
Goto Top
Ich hatte das Problem, dass die Treiber nicht so schnell instalilert wurden. Dabei erhielt ich die Meldung, dass bereits ein anderer Prozess am laufen sei. Somit fiel mir die Loop Porzedur auf die Nase.

Deswegen wollte ich im for /f tolen nach jeder erledigten Aufgabe eine Pause von 5 Sekunden einbauen
Mitglied: 141815
Solution 141815 Nov 12, 2019 updated at 09:48:34 (UTC)
Goto Top
Das musst du dann nicht in die Schleife einbauen sondern, davor oder danach. Innerhalb der Schleife wird nur ein und die selbe Datei verarbeitet die nur einmalig ausgelesen wird, eine Pause darin würde also überhaupt nichts bringen!