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 Con2prt.exe Problem mit Zeilenumbruch (Batchcode)

Mitglied: narthan

narthan (Level 1) - Jetzt verbinden

04.12.2013, aktualisiert 06.12.2013, 2589 Aufrufe, 9 Kommentare, 4 Danke

Moin moin,

Ich habe folgendes Problem:
Ich möchte mithilfe von CMD und con2prt.exe alle derzeitigen Netzwerkdrucker entfernen und diese in eine .txt Datei speichern. Da wir einen neuen Printserver haben, möchte ich nun aus der .txt die Werte wieder rausholen, den ALTEN Server durch den NEUEN Server ersetzen und mithilfe von con2prt.exe die zuvor verfügbaren Drucker nun vom NEUEN Printserver wieder verbinden.

So sieht's bei mir bis jetzt aus:

01.
C:\Windows\system32>for /f "tokens=5 delims= " %i in (C:\Drucker.txt) do @echo %i
02.
\\ALTERDRUCKSERVER\DRUCKER1
03.
\\ALTERDRUCKSERVER\DRUCKER2
04.

05.
----
06.

07.
C:\Windows\system32>C:\Users\user123\Desktop\con2prt.exe
08.

09.
CON2PRT: Lets the user disconnect all existing connections to Windows NT
10.
         printers and connect to newly specified Windows NT printers.
11.

12.
Usage: CON2PRT [ /? | /h | /f |
13.
                   [/c \\printserver\share | /cd \\printserver\share]+]
14.
       where:
15.

16.
       /?  - displays usage.
17.
       /h  - displays usage.
18.
       /f  - deletes all existing printer connections.
19.
       /c  - connects to \\printserver\share printer.
20.
       /cd - connects to \\printserver\share printer and sets it as the default
21.
             printer.
22.

23.
C:\Windows\system32>for /f "tokens=5 delims= " %i in (C:\drucker.txt) do C:\Users\use123\Desktop\con2prt.exe
24.
 /c %i
25.

26.
 :\Windows\system32>C:\Users\user123\Desktop\con2prt.exe /c \\ALTERDRUCKSERVER\DRUCKER1
27.
.ailed to connect to Windows NT printer: \\ALTERDRUCKSERVER\DRUCKER1
28.
Please check to see that the printer exists.
29.

30.
 :\Windows\system32>C:\Users\user123\Desktop\con2prt.exe /c \\ALTERDRUCKSERVER\DRUCKER2
31.
.ailed to connect to Windows NT printer: \\ALTERDRUCKSERVER\DRUCKER2
32.
Please check to see that the printer exists.
33.

34.
----
35.

36.
C:\Windows\system32>C:\Users\user123\Desktop\con2prt.exe /c \\ALTERDRUCKSERVER\DRUCKER1
37.
Connected to printer: \\ALTERDRUCKSERVER\DRUCKER1.
Als Erklärung:
Zurerst habe ich die installierten Netzwerkdrucker mit "con2prt.exe /f > C:\drucker.txt" gelöscht und in die TXT Datei drucker.txt gespeichert, in der folgendes steht:
"Removed connection to printer: \\ALTERDRUCKSERVER\DRUCKER1
Removed connection to printer: \\ALTERDRUCKSERVER\DRUCKER2"

Da ich für con2prt.exe jedoch nur Servername und Drucker brauche, verwende ich die For Schleife mit Begrenzung auf Token 5 und delimiter Leerzeichen. Speichere dies in Variable.
Daraufhin will ich mit
01.
C:\Windows\system32>for /f "tokens=5 delims= " %i in (C:\drucker.txt) do C:\Users\user123\Desktop\con2prt.exe
02.
 /c %i
die Drucker verbinden (Ich habe hier noch nicht versucht, den ALTEN auf NEUEN Druckserver zu ändern, weil ich erstmal versuchen wollte, ob es überhaupt so funktionieren kann). Dabei kam allerdings die oben zu sehende Fehlermeldung...

Meine Vermutung: --> Zeilenumbrüche in der TXT Datei ! <--

Ich also 2.Zeile in der TXT Datei gelöscht, sodass nur eine Zeile, sprich ein Drucker drin ist, und er stellte die Verbindung ohne jegliche Fehlermeldung her.



Weiß jemand, wie ich diesen Fehler umgehen kann, sodass mehrere Zeilen aus der TXT Datei ausgelesen und bearbeitet werden können?
Weiß jemand evtl auch, wie ich die Werte aus der TXT Datei lesen, und den ALTEN Druckserver in den NEUEN dabei ändern kann? (evtl. über in neue Variable speichern, wenn im Namen des ALTEN bestimmte Zahlen entdeckt werden?)


Grüße, narthan
Mitglied: Endoro
LÖSUNG 05.12.2013, aktualisiert 06.12.2013
Hey,
wenn man sich den Hexdump vom con2prt Output ansieht, fallen die EOL-Markierungen auf:

df24f100bf9aa98a42a7365e25d5eab0 - Klicke auf das Bild, um es zu vergrößern

Die stören die Verarbeitung in for Schleifen. Abhilfe: Text mit sed oder tr bearbeiten:

01.
sed s/\xd// INPUT.TXT > OUTPUT.TXT
01.
< INPUT.TXT tr -s \r > OUTPUT.TXT
lg.
Bitte warten ..
Mitglied: narthan
05.12.2013, aktualisiert um 14:04 Uhr
Hey Endoro,

danke erstmal für die Antwort!
Ich habe mal nach sed und tr gegoogled, da ich beides nicht kenne und bin auf Unix Programme (oder Erweiterungen?) gestoßen.
Muss ich diese herunterladen oder lieg ich komplett falsch und muss ich das über einen Text Editor machen?

Gruß, narthan

edit: ich habe Windows 7 64bit
Bitte warten ..
Mitglied: Endoro
05.12.2013 um 14:13 Uhr
Das sind ursprünglich Unix-Programme: sed for Windows, tr ist hier bei: CoreUtils for Windows. Ältere Versionen ohne Installations"zwang" gibts hier.
lg.
Bitte warten ..
Mitglied: narthan
05.12.2013 um 14:34 Uhr
Super danke!

Hab sed installiert und mit cmd gestartet und deinen obigen Quelltext wie folgt ausgeführt:

01.
C:\Users\user>"C:\Program Files (x86)\GnuWin32\bin\sed.exe" s/\xd// C:\drucker.txt > druckerSED.txt 
Hab ich einen Denkfehler? :D Weil irgendwie passiert nichts beim Ausführen und es kommt auch keine Fehlermeldung..

Gruß, narthan
Bitte warten ..
Mitglied: Endoro
05.12.2013 um 14:46 Uhr
sed ist ein ordentliches Programm, es belästigt dich nicht mit Fehlermeldungen, wenn alles OK ist
Das Ergebnis ist nun in druckerSED.txt anzusehen.
Bitte warten ..
Mitglied: narthan
05.12.2013, aktualisiert um 14:51 Uhr
Zitat von Endoro:

sed ist ein ordentliches Programm, es belästigt dich nicht mit Fehlermeldungen, wenn alles OK ist
Das Ergebnis ist nun in druckerSED.txt anzusehen.

Da bin ich ja beruhigt ;) Leider wurde die druckerSED.txt nicht erzeugt, ist nicht da.



Edit: bei erneutem Ausführen unter Admin Rechten bekam ich nun folgende Fehlermeldung:
"sed.exe: -e Ausdruck #1, Zeichen 3: Nicht beendeter `s'-Befehl"
Bitte warten ..
Mitglied: Endoro
LÖSUNG 05.12.2013, aktualisiert 06.12.2013
Es könnte helfen, ein paar Zollzeichen zu setzen:
01.
sed "s/\xd//" "INPUT.TXT" > "OUTPUT.TXT"
Welches sed hast du genommen?
lg.
Bitte warten ..
Mitglied: Endoro
05.12.2013 um 16:37 Uhr
Hmm, ich sehe gerade, dass sich die zwei von mir verlinkten sed's unterschiedlich verhalten
Nimm entweder dieses sed for Windows oder tr, damit gibt's keine Probleme.
lg.
Bitte warten ..
Mitglied: narthan
06.12.2013, aktualisiert um 09:21 Uhr
Moin Endoro,

ja genau die Version habe ich benutzt, aber perfekt, dank deinem editierten Quelltext hat es nun funktioniert und auch con2prt hat nicht mehr gemeckert

Jetzt muss ich nur noch irgendwie den alten Druckerserver Namen durch den neuen ersetzen..

Danke dir erstmal!

Gruß, narthan

Edit: Okay habs geschafft!

Via Google folgenden Link zum Ersetzen von Wörtern in Text Dateien gefunden (http://www.supportnet.de/fresh/2007/1/id1481757.asp) und das dort vorhandene Skript übernommen und angepasst. Endlich können nun die Drucker der Clients auf den neuen Druckserver via Anmeldeskript umgesiedelt werden, ohne dass ich es manuell und zu Fuß erledigen muss.


Danke dir nochmal Endoro ;)
Bitte warten ..
Ähnliche Inhalte
CSS
Zeilenumbruch ohne br
gelöst Frage von ANTiNATORCSS2 Kommentare

Ich habe einen <div> in den durch ein phpscript der Inhalt einer Textdatei eingegeben wird. Welcher wiederum aus einem ...

Batch & Shell
Zeilenumbruch in eventcreate
Frage von hansis1Batch & Shell7 Kommentare

Hallo! Ich möchte mit eventcreate in das WindowsLog schreiben. Allerdings brauche ich dafür auch Zeilenumbrüche. Wie kann ich das ...

Batch & Shell
Powershell - Zeilenumbruch in Mail
gelöst Frage von rodgerwilcoBatch & Shell2 Kommentare

Hallo zusammen, es wäre schön, wenn jemand zu meinem Problem eine Lösung hätte. Ich möchte per Mail Statusinformationen zu ...

Microsoft Office

Word: Zeilenumbruch bei Textmarke entfernen

Frage von BadgerMicrosoft Office

Hallo, folgende Ausgangslage: In einem Word Dokument sind Textmarken von verschiedenen Excel-Zeilen vorhanden: Das Problem ist, dass automatisch immer ...

Neue Wissensbeiträge
Datenschutz

SiSyPHuS Win10: Analyse der Telemetriekomponenten in Windows 10

Tipp von freesolo vor 1 TagDatenschutz1 Kommentar

Alle die sich detailliert für die Datensammlung interessieren die unter Windows 10 stattfindet, sollten sich folgende Analyse des BSI ...

Sicherheit
Adminrechte dank Intel-Grafikkarte
Information von DerWoWusste vor 1 TagSicherheit1 Kommentar

ist das Advisory, welches beschreibt, welche Intel HD Graphics Modelle Sicherheitslücken haben, mit denen sich schwache Nutzer zu Admins ...

Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 2 TagenInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 3 TagenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Heiß diskutierte Inhalte
Microsoft Office
Sharepoint 2016 mag keine Umlaute in .docx-Titeln
gelöst Frage von DerWoWussteMicrosoft Office14 Kommentare

Moin Kollegen. Nutzt hier jemand Sharepoint? Könnt Ihr, unabhängig von der Sharepointversion, bitte einen Test machen? Ladet ein .docx ...

Basic
VBS soll alle Ordner auswählen, die im Startmenu angezeigt werden
Frage von Senseless-CreatureBasic12 Kommentare

Guten Morgen - gibt es eine Möglichkeit, per VBS das Startmenu in Win10 zu modifizieren? Ich beherrsche VBS mittlerweile ...

Virtualisierung
Physikalischen Linux-Rechner (Debian) in VM umziehen
Frage von fbronkoVirtualisierung10 Kommentare

Moin, ich möchte zu Testzwecken einen physikalisch vorhandenen Linux-Rechner auf Debian-Basis in eine VM umziehen. Ich habe mittlerweile schon ...

Video & Streaming
GO PRO 7 Black 4K 60 FPS MP4 HEVC(H.265) Codier Probleme
gelöst Frage von REN0XXVideo & Streaming10 Kommentare

Mahlzeit, ich habe mir Letztens Die GoPro Hero Black 7 gekauft, da diese nun auch 4K und 60FPS unterstützt ...