1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Brauche Hilfe bei einer .bat Datei

Discussion in 'Programmieren' started by Seggl, May 25, 2009.

Thread Status:
Not open for further replies.
  1. Seggl

    Seggl Byte

    Hallo,

    ich brauche Hilfe bei der Programmierung einer Batch Datei. Ich möchte beim Klick auf die bat Datei den Internet Explorer öffnen, mit der IP des NETIO 230A.
    Soweit habe ich das geschafft.
    Aber kann ich mich nun auch automatisch mit dieser Batch datei einloggen?
    Im endefekt möchte ich einen Drucker übers Netzwerk einschalten. Aber nun muss ich immer das WebControl fenster öffnen und den Drucker manuell ein- und ausschalten. So würde ich gerne durch den Klick auf die Batch datei automatisch den Drucker einschalten... Wenn das geht...

    Gruß
     
  2. daniel0290

    daniel0290 Kbyte

  3. Seggl

    Seggl Byte

    Nein, die Suchfunktion hat nichts gebracht. Mit dem Thread kann ich doch nichts anfangen!
    Da steht ja keine Antwort auf meine Frage drin. Ich wollte wissen wie die bat Datei aussehen könnte...

    Gruß
     
  4. daniel0290

    daniel0290 Kbyte

    Also mit einer Batch-Datei kannst du das Webinterface nicht steuern, aber da steht, dass das mit telnet möglich ist unt das ist über Batch steuerbar.
     
  5. Seggl

    Seggl Byte

    ok das ist ja mal ne Ansage... Von Telnet hab ich noch nie was gehört... dann lass ich das lieber so wie es jetzt ist. Danke
     
  6. mike_kilo

    mike_kilo Ganzes Gigabyte

    Denkbar auch per Makro.
     
  7. mike_kilo

    mike_kilo Ganzes Gigabyte

  8. Seggl

    Seggl Byte

    Ja, das von Wikipedia hab ich schon gelesen, bringt mich aber nicht wirklich weiter... Und Markos kenn ich nur aus Excel...
    Naja mir hab das mit dem Programme schreiben einfacher vorgestellt... Dann werd ich das wohl so lassen wie es ist...
    Danke Gruß
     
  9. daniel0290

    daniel0290 Kbyte

  10. VB-Coder

    VB-Coder Megabyte

    drucker-ein.bat
    Code:
    telnet 192.168.10.100
    login DeinUserName DeinPasswort
    port 4 1
    quit
    
    drucker-aus.bat
    Code:
    telnet 192.168.10.100
    login DeinUserName DeinPasswort
    port 4 0
    quit
    
    Voraussetzung ist das sich der Drucker am Ausgang 4 befindet. Andernfalls musst du das ganze entsprechend ändern. Desweiteren musst du die IP + die Logindaten anpassen. Das ganze muss vom Loginmodus auf Open Login stehen, da es sonst Probleme geben wird.

    Konnte das ganze jetzt nicht testen, hoffe aber das es funktioniert.
     
  11. Seggl

    Seggl Byte

    Hallo, ok das mit dem Telnet funktioniert. Aber nur wenn ich es Schritt für Schritt mache, da ich ja immer auf eine Antwort warten muss...
    nach dem Telnet - Befehl wechsel ich ja in die Telnet Ansicht... kann man das noch irgendwie automatisieren?
    Aber schonmal vielen Dank für die Antworten..

    Gruß
     
  12. daniel0290

    daniel0290 Kbyte

    funktioniert das nicht, wie bei VB-Coder angegeben in einer .bat?

    die befehle werden normalerweise nacheinander ausgeführt, also erst, wenn einer beendet ist startet der nächste.
     
  13. Seggl

    Seggl Byte

    nein, denn nach dem Befehl "telnet 192.168.2.200" ändert sich das drucker.bat Fenster zu Telnet 192.168.2.200 Fenster. Ich meine damit die Überschrift des Fensters. Als Text kommt dann die Antwort : 100 HELLO F2D99CB0
    Ab jetzt können die weiteren Befehle eingegeben werden. Nach dem Login kommt die Antwort: 250 ok.
    Dann kann ich direkt die Ausgänge steuern...

    ICh hoffe dass das halbwegs verständlich erklärt war...

    Gruß

    Wer kann mir denn weiterhelfen?

    Gruß
     
  14. Seggl

    Seggl Byte

    So, habe nun eine andere Lösung mit einer vbs Datei gefunden. Jetzt habe ich 2 vbs dateien, eine mit der ich meinen Drucker einschalte, und eine mit der ich den Drucker ausschalte. Nun meine Frage, man könnte doch ein MsgBox machen, wo drinsteht Drucker Ein / Aus und man abhängig welchen Button man drückt den passenden Script aufruft. Das müsste doch machbar sein, oder?

    Hier das Script zum Drucker einschalten:

    Set wshShell = CreateObject("Wscript.Shell")

    wshShell****n "telnet 192.168.2.200", , False

    WScript.Sleep 500
    wshShell.SendKeys "login admin admin", True
    wshShell.SendKeys "{ENTER}", True

    WScript.Sleep 1000
    wshShell.SendKeys "port 1 1", True
    wshShell.SendKeys "{ENTER}", True

    WScript.Sleep 1000
    wshShell.SendKeys "quit", True
    wshShell.SendKeys "{ENTER}", True

    MsgBox "Ok drücken und 5s warten",64,"Drucker HP Laserjet 5"
    wScript.sleep 5000

    IP = "192.168.2.192"
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_PingStatus " & _
    "Where Address = '" & IP & "'")
    For Each objItem in colItems
    If objItem.StatusCode = 0 Then
    MsgBox IP & " ist erreichbar." ,64, "Drucker HP Laserjet 5"
    wScript.sleep 1000
    MsgBox "Drucker ist eingeschaltet",64,"Drucker HP LaserJet 5"
    Else
    MsgBox IP & " ist nicht erreichbar."
    End If
    Next




    Und hier das Script zum Drucker ausschalten:

    Set wshShell = CreateObject("Wscript.Shell")

    wshShell****n "telnet 192.168.2.200", , False

    WScript.Sleep 500
    wshShell.SendKeys "login admin admin", True
    wshShell.SendKeys "{ENTER}", True

    WScript.Sleep 1000
    wshShell.SendKeys "port 1 0", True
    wshShell.SendKeys "{ENTER}", True

    WScript.Sleep 1000
    wshShell.SendKeys "quit", True
    wshShell.SendKeys "{ENTER}", True

    IP = "192.168.2.192"
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_PingStatus " & _
    "Where Address = '" & IP & "'")
    For Each objItem in colItems
    If objItem.StatusCode = 0 Then
    MsgBox IP & " Drucker ist immernoch erreichbar." ,64, "Drucker HP Laserjet 5"
    Else
    MsgBox " Drucker ist Aus.",64, "Drucker HP Laserjet 5"
    End If
    Next

    Wer kann mir da helfen?

    Danke
     
  15. Urs2

    Urs2 Megabyte

    Wenn die beiden VBS tun was sie sollen...
    ...kannst Du mit diesem Code eine "Gemeinsam.VBS" benutzen >>>


    Code:
    strTitel = "Was soll getan werden ?"
    strFrage = 	vbCr & "Drucker einschalten oder ausschalten ?   " & vbCr & vbCr & vbCr & _
    			"Einschalten    =    Button >  JA" & vbCr & vbCr & _
    			"Ausschalten   =    Button >  NEIN" & vbCr & "  "
    
    		'Buttons JA+NEIN = 4, Fragezeichen = 32, zusammen 36
    intArt = 36
    
    intJob = MsgBox(strFrage, intArt, strTitel)
    
    If intJob = vbYes Then
    	'Hier Dein kompletter Code zum Einschalten
    	'
    	'die nächste Zeile dann entfernen, sie soll nur zeigen, wie es funktioniert
    	wscript.echo "JA gedrückt"
    	'
    Else
    	'Hier Dein kompletter Code zum Ausschalten
    	'
    	'diese Zeile dann auch entfernen...
    	wscript.echo "NEIN gedrückt"
    	'
    End If

    - MsgBox hat nur vorgegebene Beschriftungen der Buttons, aber so müsste es auch klar sein.

    - Kannst diese VBS einmal so starten, sie zeigt nur welchen Button Du gedrückt hattest...

    - Wenn OK, dann Deine beiden VBS komplett einfügen.


    Gruss Urs
     
  16. Seggl

    Seggl Byte

    JA genau. Danke so hab ich mir das vorgestellt. Danke
     
Thread Status:
Not open for further replies.

Share This Page