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

IP-Adresse aus Excel auslesen und Netzwerkdrucker installieren

Frage Entwicklung Batch & Shell

Mitglied: Flauschbobbel

Flauschbobbel (Level 1) - Jetzt verbinden

15.04.2008, aktualisiert 17.04.2008, 8818 Aufrufe, 10 Kommentare

Hallo Zusammen,

ich bin neu bei Euch, habe ein für mich größeres Problem und hoffe Ihr könnt mir weiterhelfen (und bin hoffentlich im richtigen Forum:


Ich habe eine Excelliste, in der habe ich IP-Adressen von zukünftigen Druckern in unterschiedlichen
Standorten. Die Liste hat ca. 800 Zeile/Standorte.

Bsp:
Standort-ID;Ansprechpartner;bla;bla;IP-Adr1 ;IP-Adr2 ;IP-Adr3;...
4711 ;Müller ;bla;bla;10.132.10.11;10.132.10.120; --- ;...
0815 ;MAier ;bla;bla;10.126.19.18; --- ; --- ;...

Ich möchte via eines Batchs aus der ExcelListe die IP-Adressen für zukünftige Netzwerkdrucker in verschieden Standorten
auslesen und installieren.
Mein Batch soll auf allen Clients (auf allen läuft WinXP) am jeweiligen Standort laufen und
alle Drucker die für diesen Standort vorgesehen sind sollen auf allen Clients installiert werden.
D.h. sie sollen unter "Drucker und Faxgeräte" zu sehen sein.
Der Batchjob soll keinen Output auf einem Client schreiben, sondern alle Infos sollen in einem Logfile im TEMP-Verzeichnis des Clients abgelegt werden.

Erschwerend kommt hinzu, dass die physikalische Installation der Drucker zeitlich unterschiedlich sein wird.
D.h. Der Batch soll einmal laufen, die benötigten IP-Adressen aus der Excelliste ziehen, prüfen ob dieser Adresse
bereits ein Standard-TCP/IP-Post zugewiesen wurde (dann wäre die Installation auf dem Client bereits gelaufen),
wenn nicht einen Standard TCp/IP-Port anlegen und den Drucker installieren.

Die physikalischen Drucker werden danach zu unterschiedlichen Zeiten/Tagen/Wochen in den einzelnen Standorten aufgebaut.
Über das Bedienfeld des Druckers bekommen sie vom Aufstell-Techniker ihre IP-Adresse und Subnetmask, werden am Netzwerk
angeschlossen und das war's. Anschliessend soll der Benutzer sofort darauf drucken können.

Ich habe schon mal etwas herumprobiert:
- Prüfen, ob eine IP-Adresse (Standard-Port) in der Registry vorhanden ist funktioniert mit REG QUERY...
- IP-Adresse in die Registry eintragen und die entsprechend benötigten Schlüssel setzen funktioniert auch soweit mittels REG ADD...
- Anschliessend muss ich die Druckerwarteschlange stoppen/starten (net stop/start Spooler): OK
- Die benötigten Druckertreiber kann ich mittels rundll32 printui.dll,PrintUIEntry.... auch einbinden und eine Testseite kann ich auch automatisch hiermit erstellen. Soweit, so gut.

Mein Riesenproblem an dem ich nun seit Tagen rumdoktere ist das Auslesen aus der Excelliste.
Hier komme ich einfach nicht weiter. In der Registry auf jedem Client ist die jeweilige Standort-ID hinterlegt.

Könnt ihr mir hier auf die Sprünge helfen?
Ich habe keinerlei Kenntnisse zu VBS, WSH usw. Daher möchte ich die Aufgabe mittels DOS-Commands im Batch lösen.
Herzlichen Dank schon mal im voraus.

Grüße,
Flauschbobbel
Mitglied: bastla
15.04.2008 um 16:32 Uhr
Hallo Flauschbobbel und willkommen im Forum!

Es sollte doch genügen, die Liste als CSV-Datei zu speichern und mit einer "for /f"-Schleife die mit "findstr" herausgefilterten Standortdaten zu zerlegen und weiter zu verarbeiten - auf Basis Deines Beispiels oben etwa so:
01.
@echo off & setlocal 
02.
set "Liste=D:\Deine CSV-Datei.csv" 
03.
 
04.
if "%~1" neq "" (set "Standort=%~1") else set /p "Standort=Bitte Standort-ID eingeben: " 
05.
 
06.
for /f "tokens=5-7 delims=;" %%i in ('findstr /b "%Standort%" "%Liste%"') do call :ProcessLine %%i %%j %%k 
07.
echo Fertig. 
08.
goto :eof 
09.
 
10.
:ProcessLine 
11.
set "IP1=%~1" 
12.
set "IP2=%~2" 
13.
set "IP3=%~3" 
14.
 
15.
echo %IP1% %IP2% %IP3% 
16.
 
17.
:: 
18.
:: hier weitere Befehle 
19.
:: 
20.
 
21.
goto :eof
Den Standort kannst Du entweder als Parameter beim Aufruf oder über Konsole eingeben.

Grüße
bastla
Bitte warten ..
Mitglied: bastla
15.04.2008 um 17:21 Uhr
... um dann aber doch zumindest einem Teil des Thread-Titels gerecht zu werden:
01.
@echo off & setlocal 
02.
set "Liste=D:\Deine XLS-Datei.xls" 
03.
set "Tab=Tabelle1" 
04.
set "Ab=2" 
05.
set "Spalten=8" 
06.
 
07.
set "R=%temp%\ReadXL.vbs" 
08.
echo Set XL=WScript.CreateObject("Excel.Application"):Set oWB=XL.Workbooks.Open("%Liste%")>%R% 
09.
echo Z=%Ab%:With oWB.Worksheets("%Tab%"):Do While .Cells(Z,1)^<^>"":L=.Cells(Z,1):For i=2 To %Spalten% >>%R% 
10.
echo L=L^&";"^&.Cells(Z,i):Next:WScript.Echo L:Z=Z+1:Loop:End With:oWB.Saved=True:XL.Quit>>%R% 
11.
 
12.
if "%~1" neq "" (set "Standort=%~1") else set /p "Standort=Bitte Standort-ID eingeben: " 
13.
 
14.
for /f "tokens=5-7 delims=;" %%i in ('cscript //nologo %R%^|findstr /b "%Standort%"') do call :ProcessLine %%i %%j %%k 
15.
 
16.
del %R% 
17.
echo Fertig. 
18.
goto :eof 
19.
 
20.
:ProcessLine 
21.
set "IP1=%1" 
22.
set "IP2=%2" 
23.
set "IP3=%3" 
24.
 
25.
echo %IP1% %IP2% %IP3% 
26.
 
27.
:: 
28.
:: hier weitere Befehle 
29.
:: 
30.
 
31.
goto :eof
Hier werden ab Zeile 2 (solange die erste Spalte Einträge enthält) jeweils die ersten 8 Spalten der "Tabelle1" der angegebenen Excel-Datei ausgelesen und (analog zur obigen Variante) an den Batch zum Filtern und Verarbeiten übergeben.

Grüße
bastla
Bitte warten ..
Mitglied: Flauschbobbel
15.04.2008 um 19:04 Uhr
Hallo bastla,

herzlichen Dank für Dein schnelles und umfangreiches Feedback.
Sorry, dass ich Dich nochmal nerve, aber kannst Du mir eine kurze Erklärung zu dem Batch geben: Für was steht "%~1"? Die Variable in dieser Form habe ich noch nicht gesehen.

Anstelle die Standord-ID einzugeben, kann ich diese ja auch aus der Registry abfragen:
"Ist der Client, auf dem dieses Script läuft, identisch mit der Standort-ID aus der Liste"
Wenn ja, geht es weiter in Deinem Beispiel mit for /f ...
(Hatte ja geschrieben, dass ich die Standrt-ID in der Registry des Clients stehen habe)

Hilf mir auch hier bitte nochmal weiter: ... do call :ProcessLine ... Für was steht das?

...bei Deinem 2. Beispiel habe ich auch noch ein Vertständnisproblem:
Du rufst innerhalb der Batch ein vbs-Script auf? Sorry, aber irgendwie blicke ich die Syntax nicht ganz.

Danke und viele Grüße,
Flauschbobbel
Bitte warten ..
Mitglied: bastla
15.04.2008 um 19:51 Uhr
Hallo Flauschbobbel!

Sorry, dass ich Dich nochmal nerve ...
Wie kommst Du auf "nerven"?

Für was steht "%~1"? Die Variable in dieser Form habe ich noch nicht gesehen.
Bedeutet nur, dass der dem Batch übergebene erste Parameter ohne umgebende Anführungszeichen (wenn es denn welche geben sollte) verwendet werden soll - so kann ich sicher sein, dass nur von mir selbst gesetzte Anführungszeichen vorhanden sein werden.

Anstelle die Standord-ID einzugeben, kann ich diese ja auch aus der Registry abfragen:
Damit hast Du natürlich Recht, es sollte aber eigentlich zum Testen ein eigenständiger Batch werden - wenn es bereits eine passende Variable gibt, kannst Du diese einfach anstelle von %Standort% einsetzen.

do call :ProcessLine ... Für was steht das?
Damit wird ein weiterer Batch aufgerufen, der allerdings in der selben Datei steht - praktisch ein Unterprogramm. Erforderlich ist das, weil sich die nötigen Aktionen nur bedingt sinnvoll direkt in der "for"-Schleife unterbringen lassen. Dieses Unterprogramm verhält sich übrigens im Prinzip genauso, als hättest Du eine weitere externe Batchdatei gestartet - die übergebenen Parameter sind zB auch hier mit %1 bis %3 bezeichnet.

Du rufst innerhalb der Batch ein vbs-Script auf? Sorry, aber irgendwie blicke ich die Syntax nicht ganz.
Zunächst erstelle ich mit den "echo"-Zeilen das Script (wobei teilweise im Script "fest verdrahtet" die variablen Werte Datei- und Tabellenname oder Zeilen/Spalten abgelegt werden und einige Zeichen - etwa ">" - durch ein vorangestelltes "^" maskiert werden müssen, damit sie nicht als Batch-Sonderzeichen interpretiert werden).

Dann rufe ich es einfach über "cscript" auf, wobei durch die "for"-Schleife die Ausgabe gleich weiter verarbeitet werden kann.

Wenn Du die Zeile "del %R%" vorübergehend entfernst, kannst Du Dir das Script auch (im "Temp"-Ordner des angemeldeten Users) ansehen - mit den Werten aus meinem Beispiel sieht es so aus:
01.
Set XL=WScript.CreateObject("Excel.Application"):Set oWB=XL.Workbooks.Open("D:\Deine XLS-Datei.xls") 
02.
Z=2:With oWB.Worksheets("Tabelle1"):Do While .Cells(Z,1)<>"":L=.Cells(Z,1):For i=2 To 8  
03.
L=L&";"&.Cells(Z,i):Next:WScript.Echo L:Z=Z+1:Loop:End With:oWB.Saved=True:XL.Quit
Da ich gerne ein paar Zeilen spare, habe ich es auf das Nötigste gekürzt/komprimiert - eine längere (und etwas kommentierte) Fassung sähe so aus:
01.
Set XL = WScript.CreateObject("Excel.Application") 'Zum Zugriff auf Excel das entsprechende Objekt erzeugen 
02.
Set oWB = XL.Workbooks.Open("D:\Deine XLS-Datei.xls") 'Datei öffnen 
03.
 
04.
iZeile = 2 'Beginne in Zeile 2 
05.
 
06.
With oWB.Worksheets("Tabelle1") 'Verwende in weiterer Folge "Tabelle1" der geöffneten Exceldatei 
07.
	Do While .Cells(iZeile,1) <> "" 'Solange in Spalte 1 der aktuellen Zeile ein Inhalt steht ... 
08.
		Line = .Cells(iZeile,1) '... erzeuge eine neue Zeile mit diesem Inhalt ... 
09.
			For i = 2 To 8 '... und füge aus den Spalten 2 bis 8 dieser Zeile ... 
10.
				sLine = sLine & ";" & .Cells(iZeile,i) '... die dortigen Inhalte jeweils nach einem ";" an 
11.
			Next 
12.
		WScript.Echo sLine 'Gib die fertige Zeile aus 
13.
		iZeile = iZeile + 1 'Weiter zur nächsten Zeile 
14.
	Loop 'bis Ende der Daten erreicht (kein Wert mehr in der ersten Spalte) 
15.
End With 
16.
 
17.
oWB.Saved=True 'Damit die Datei ohne Rückfrage geschlossen werden kann, erkläre sie für "bereits gespeichert" 
18.
XL.Quit 'Beende Excel
Grüße
bastla
Bitte warten ..
Mitglied: Flauschbobbel
16.04.2008 um 21:38 Uhr
Hallo bastla,

zunächst herzlichen Dank für Deine Hilfe. Habe heute mal an meinem Batch weiter gebastelt und dabei ist mir folgendes aufgefallen. Hier benötige ich nochmal Deine Hilfe:
Ich habe Deinen ersten Post genommen und an meine Batch angepasst. Ich habe in meiner Liste max. 4 IP-Adressen, also %IP1% bis %IP4%. Ich hatte ja geschrieben, dass meine Excelliste wie folgt aufgebaut ist:

Standort-ID; bla ; bla; IP1 ; IP2 ; IP3 ; IP4 ; bla ; Bla ; bla ; Bemerkung
4711 ; bla ; bla ; 192.168.1.100 ; 192.168.1. 110 ; ; ; bla ; Bla ; bla ; irgendeine Info
0815 ; bla ; bla ; 192.168.1.200 ; ; ; ; bla ; bla ; bla;

In der Zeile, in der bei Bemerkung nichts steht (in meinem Beispiel die Zeile 0815) wird Deine Beispielprozedur einwandfrei ausgeführt. Sobald, wie bei Zeile 4711, etwas in der Spalte Bemerkung steht, werde die Teile dieser Spalte beim Anzeigen von %IP4% dargestellt.
Wie kann ich das unterbinden?

Dann habe ich folgenden Eintrag vorgenommen:

if "%~1" neq "" (set "Standort=%~1") else set /p "Standort=Bitte Standort-ID eingeben4475:82) "
for /f "tokens=10 delims=;" %%i in ('findstr /b "%Standort%" "%InputListe%"') do call :ProcessLine %%i
for /f "tokens=11 delims=;" %%i in ('findstr /b "%Standort%" "%InputListe%"') do call :ProcessLine %%i
for /f "tokens=12 delims=;" %%i in ('findstr /b "%Standort%" "%InputListe%"') do call :ProcessLine %%i
for /f "tokens=13 delims=;" %%i in ('findstr /b "%Standort%" "%InputListe%"') do call :ProcessLine %%i
:: echo Fertig mit Suche in Excelliste.
goto CLEANUP

:: --------------------------------------------------------------
:ProcessLine
...
Hier mache ich folgendes:
- IP-Adresse in Registry eintragen für %ipadr% und %IPPortName%
- Druckerwarteschlange anhalten/starten für %ipadr% und %IPPortName%
- Druckertreiber hinzufügen für %ipadr% und %IPPortName%
- Logischen Drucker einrichten für %ipadr% und %IPPortName%
- Druckereinstellungen einrichten für %ipadr% und %IPPortName%
- Testseite ausdrucken für %ipadr% und %IPPortName%
goto :eof
:CLEANUP
...

Im Abschnitt IP-Adress in Registry eintragen mache ich folgendes:
:: --------------------------------------------------------------
:Check_IP
:: --------------------------------------------------------------
::
:: *** Prüfen, ob der Standard TCP/IP-Port bereits existiert
:: und in der Registry eingetragen ist
::
echo %date% %time% - Prüfen, ob der Standard TCP/IP-Port %IPPortName% bereits existiert... >> %AddPrntLog%
echo %date% %time% - REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%IPPortName%" /v IPAddress >> %AddPrntLog%
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%IPPortName%" /v IPAddress >> NUL
:: Errorlevel=0 Wert in der Registry vorhanden
:: Errorlevel=1 Wert in der Registry nicht vorhanden
if %errorlevel% == 1 echo %date% %time% - Standard TCP/IP-Port %IPPortName% noch nicht vorhanden >> %AddPrntLog%
if %errorlevel% == 0 echo %date% %time% - Standard TCP/IP-Port %IPPortName% bereits eingetragen >> %AddPrntLog%
if %errorlevel% == 0 goto :eof
::if %errorlevel% == 0 goto ADD_PRINTER_DRIVER ????????????????
echo. >> %AddPrntLog%

Das Funktioniert aus soweit, aber gibt es eine Möglickeit das etwas eleganter zu schreiben?
Kann ich die Abfrage der Errorlevel (0) irgendwie zusammenfassen?
Zum Einen soll die Info ins Logfile (%AddPrntLog%) geschrieben werden und das Unterprogramm verlassen werden.

Und zum guten Schluß (ich weiß nicht ob es hierhin gehört): Wie kann ich elegant folgende Zeile im mein Logfile schreiben?
echo ------------------------------------------------------------------------------------------------------------ >> %AddPrntLog%
Muss ich die Linies so darstellen, oder gibt es eine anderen Weg.? Ich möchte nämlich nach jedem Step eine Trennlinie im Logfile haben, finde es aber blöd jedesmal das so darzustellen.

Wenn es Dir hilft, kann ich auch das ganze Script mal hier posten.

Schon mal herzlichen dank vorab Für Deine Hilfe!
Herzliche Grüße vom geschlauchten Flauschbobbel
Bitte warten ..
Mitglied: Biber
16.04.2008 um 22:12 Uhr
Na, Flauschbobbel, das weiß sogar ich...

.. irgendwo weiter oben im Batch.
01.
Set "Trennlinie=------------------------------------------------------------------------------------------------------------" 
02.
..... 
03.
 
04.
..... 
05.
 
06.
:: wenns gebraucht wird. 
07.
echo %Trennlinie% >> woEsSchönSeinSoll.txt 
08.
...
oder sogar:
01.
.... 
02.
Call :ZiehNeLinie 
03.
... 
04.
 
05.
.... 
06.
goto :eof 
07.
 
08.
:ZiehNeLinie 
09.
:: ohne variable 
10.
echo ------------------------------------------------------------------------------------------------------------ >> %AddPrntLog% 
11.
goto :eof
Grüße
Biber
Bitte warten ..
Mitglied: bastla
16.04.2008 um 22:45 Uhr
@Biber
... das weiß sogar ich...
Der war gut ...

@Flauschbobbel
Sobald, wie bei Zeile 4711, etwas in der Spalte Bemerkung steht, werde die Teile dieser Spalte beim Anzeigen von %IP4% dargestellt.
Wie kann ich das unterbinden?
Dein Beispiel hatte gestern noch einen "Ansprechpartner" vor "bla;bla", und die IP-Adressen begannen bei Token 5 (beim heutigen Beispiel wär's 4) - insofern kann ich mit "tokens=10" nicht viel anfangen. Poste bitte 2 Originalzeilen, und bitte verwende dafür und für die Batchzeilen jeweils < code>-Tags.
Kann ich die Abfrage der Errorlevel (0) irgendwie zusammenfassen?
ZB so:
01.
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\%IPPortName%" /v IPAddress > NUL 
02.
if %errorlevel%==0 ( 
03.
	echo %date% %time% - Standard TCP/IP-Port %IPPortName% bereits eingetragen >> %AddPrntLog% 
04.
	::goto ADD_PRINTER_DRIVER ???????????????? 
05.
	goto :eof 
06.
) else ( 
07.
	echo %date% %time% - Standard TCP/IP-Port %IPPortName% noch nicht vorhanden >> %AddPrntLog% 
08.
09.
echo\ >> %AddPrntLog%
Grüße
bastla
Bitte warten ..
Mitglied: Flauschbobbel
16.04.2008 um 23:02 Uhr
Hallo bastla,

Danke für Dein Feedback.

@Flauschbobbel
> Sobald, wie bei Zeile 4711, etwas in
der Spalte Bemerkung steht, werde die Teile
dieser Spalte beim Anzeigen von %IP4%
dargestellt.
> Wie kann ich das unterbinden?
Dein Beispiel hatte gestern noch einen
"Ansprechpartner" vor
"bla;bla", und die IP-Adressen
begannen bei Token 5 (beim heutigen Beispiel
wär's 4) - insofern kann ich mit
"tokens=10" nicht viel anfangen.
Poste bitte 2 Originalzeilen, und bitte
verwende dafür und für die
Batchzeilen jeweils < code>-Tags.

Sorry, gib mir bitte einen Tipp was Du mit <code>-Tags meinst.

Hier der Inhalt meines Excelsheets (CSV-Datei)
:
Standort_ID;Standort_Nr_OZ;Standortschlüssel;PLZ;Ort;Straße;Ansprechpartner;Anzahl Netzwerkdrucker geplant;IP-Switch notwendig;"IP-Switch
Termin";IP-Adresse 1.;IP-Adresse 2.;IP-Adresse 3.;IP-Adresse 4.;Dosennr. 1.;Dosennr. 2.;Dosennr. 3.;Dosennr. 4.;Status Dosen;LAN Connect
1.;LAN Connect 2.;LAN Connect 3.;LAN Connect 4.;Patchkabel gelegt;Strom gelegt;Aufstellplatz vorbereitet;System-ID 1.;Komponenten-ID 1.;Seriennr. 1;System-ID 2.;Komponenten-ID 2.;Seriennr. 2.;System-ID 3.;Komponenten-ID 3.;Seriennr. 3.;System-ID 4.;Komponenten-ID 4.;Seriennr. 4.;Status Drucker;Bemerkung

4475:82;8,40153E+11;447582;85757;Karlsfeld;Kroosstr. 21;Schweer;2;nein;;192.168.1.225;192.168.1.226;192.168.1.255;

40643:59;8,40155E+11;4064359;86150;Augsburg;Holderweg. 93;Fischer;3;nein;;10.32.41.117;10.32.41.118;;;;;;;;;;;;;;;;;;;;;;;;;;;;Es werden nur 2 Netzwerkdrucker benötigt - 7 FE im GGFT und 1 FE im SFDR und 1 FE im Keller!

04:38;8,40155E+11;438;89407;Dillingen;Am Berg 32;Förster;2;nein;;160.54.136.75;beantragt;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Brauchst Du noch das komplette Batchfile?

Grüße
Flauschbobbel
Bitte warten ..
Mitglied: bastla
16.04.2008 um 23:21 Uhr
Hallo Flauschbobbel!

gib mir bitte einen Tipp was Du mit <code>-Tags meinst.
Gemeint war eine Kombination von < code> und < /code> (jeweils ohne Leerzeichen), um den Teil dazwischen mit einer Schrift fixer Breite (anstatt proportional) zu formatieren und ansonsten den Text unverändert wiederzugeben (wie etwa meine Batch-Listings oben).
Inzwischen ist mir das Problem klargeworden: Unmittelbar aufeinander folgende Trennzeichen (";") werden in einer "for /f"-Schleife nur als jeweils eines gezählt - Abhilfe schaffen kannst Du eigentlich nur in der Excel-Tabelle selbst, indem Du zumindest für alle 4 IP-Adressen einen Eintrag vornimmst. Wenn keine Adresse vergeben ist, genügt ein "-" oder sogar ein Leerzeichen - wichtig ist nur, dass die Zelle nicht gänzlich leer bleibt.

Grüße
bastla
Bitte warten ..
Mitglied: Flauschbobbel
17.04.2008 um 00:03 Uhr
Hallo bastla und biber,

Klasse! Vielen Dank für Eure Hilfestellung und Rücksicht auf nervige Fragen eines Newbie in diesem Umfeld. Ihr habt mir sehr weitergeholfen.

Grüße,
Flauschbobbel
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows 7
gelöst Bereits eingebundener Drucker - IP Adresse lokal auslesen (17)

Frage von harald.schmidt zum Thema Windows 7 ...

Batch & Shell
Hostname bzw IP-Adresse in Excel eintragen (12)

Frage von EgonFrenz zum Thema Batch & Shell ...

LAN, WAN, Wireless
gelöst TP-Link WA501G als Client einrichten - Keine IP Adresse wir bezogen (14)

Frage von bestelitt zum Thema LAN, WAN, Wireless ...

E-Mail
gelöst Falsche SMTP Server IP Adresse (6)

Frage von laster zum Thema E-Mail ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...