Ich denke den riesen Quellcode kannst du anhängen... Die Net-Commandline Befehle kennen wahrscheinlich eh 98% der Mitglieder dieses Forums... ![]()
Beiträge von BinDannMalWeg
-
-
[autoit]
FileInstall()
[/autoit] -
-
Hier hast du ein ganz einfaches Beispiel:
Spoiler anzeigen
[autoit]Local $HTML = "<html><title>%seitentitel%</title><head></head><body><h1>%überschrift%</h1><marquee>%lauftext1%</marquee></body></html>"
[/autoit]
$Titel = InputBox('', 'Titel:')
$Schriftzug = InputBox('', 'Überschrift:')
$Lauftext = InputBox('', 'Lauftext:')
$HTML = StringReplace($HTML, '%seitentitel%', $Titel)
$HTML = StringReplace($HTML, '%überschrift%', $Schriftzug)
$HTML = StringReplace($HTML, '%lauftext1%', $Lauftext)
FileDelete('a.html')
FileWrite('a.html', $HTML)
ShellExecute('a.html') -
-
An deiner Stelle würde ich jetzt einfach hingehen und alle Telnet-Pakete die bei der Aktion verschickt werden mit Wireshark mitschneiden. Diese kannst du dann einfach in deinem Script einbauen... siehe TCPSend()

-
Wine...
Aber du musst auf dem PC2 ja auch gar kein Script ausführen?! Da Telnet meines Wissens nach auf TCP basiert, kannst du von PC1 aus, auch direkt die entsprechenden Pakete an PC2 senden ohne dass du zuerst den Umweg über den Commandline-befehl "telnet" gehst... 
-
Ich kenne mich mit Telnet zwar nicht aus, aber ich würde das ganze direkt über TCP machen und den Umweg bzw. die Fehlerquelle 'CMD' auslassen...

-
das soll noch einer verstehen.. das werd ich nie kapieren diese reguläre Ausdrücke

da verweise ich gerne auf das super tolle Tutorial von Seubo, das mache ich auch gerade...

-
Ich habe zwar nur schnell drüber geschaut, aber diese zwei Funktionen sind mit Hilfe von RegExp 2 bis 3 mal schneller:
[autoit]Func _GetFileExtension($sPath)
[/autoit][autoit][/autoit][autoit]
Local $a = StringRegExp($sPath, '[^\*\?\<\>\|"]+\\[^\/\:\*\?\<\>\|\"\\]+\.([^\/\:\*\?\<\>\|\"\\\.]+)\\?\Z', 3)
If IsArray($a) Then Return $a[0] ; by Christoph54
EndFunc ;==>_GetFileExtensionFunc _GetFileName($sPath)
[/autoit]
Local $a = StringRegExp($sPath, '[^\*\?\<\>\|"]+\\([^\/\:\*\?\<\>\|\"\\]+)\\?\Z', 3)
If IsArray($a) Then Return $a[0] ; by Christoph54
EndFunc ;==>_GetFileName(Ich weiß es sieht grauenvoll aus, aber das liegt daran, dass ich die Zeichen auf die beschränkt habe die auch in Dateinamen vorkommen dürfen. Und vielleicht liegt es auch ein bisschen daran, dass ich gerade erst mit StringRegExp anfange...
) -
Meines Wissens nach ist eine solches If-Konstrukt in Autoit nicht gültig:
[autoit]if Not FileExists($HLM) Or ($HCU) Then
[/autoit]Wenn dann müsste es so heißen:
[autoit]if Not FileExists($HLM) Or Not FileExists($HCU) Then
[/autoit]Außerdem ist durch die Verwendung der Or-Verknüpfung der Sinn der Abfrage auch noch verdreht worden: Denn die Fehlermeldung, dass WinRar nicht installiert ist, soll ja nur angezeigt werden wenn Pfad 1 UND Pfad 2 nicht existieren. Oder irre ich mich da?
Wenn nicht dann muss statt der OR- eine AND-Verknüpfung verwendet werden... 
-
Könntest du genauer definieren, welche Teile dieser Zeile immer gleich sind, welche zum Beispiel immer eine Zahl sind und ob manche Zeichenketten immer gleich lang sind usw...? Ansonsten könnte man das so lösen:
[autoit]$String = "11563/11563 (0%)| 0:40/ 0:40| 0:40/ 0:40| 7.4784x| 0:00"&@CRLF&"11563/11563 (50%)| 0:40/ 0:40| 0:40/ 0:40| 7.4784x| 0:00"&@CRLF&"11563/11563 (100%)| 0:40/ 0:40| 0:40/ 0:40| 7.4784x| 0:00"&@CRLF
[/autoit]
$Pattern = "\d+\/\d+ \(100%\)\|.+\s"
If StringRegExp($String,$Pattern,0) Then ConsoleWrite('Beendet!' & @LF) -
In meinem Code-Schnippsel ging es doch nur darum, dass "Kickass" versteht wie ich das mit dem Filter meine...
Und das mit dem fehlenden Punkt hab ich dank James's Hinweis doch schon längst verbessert? -
Ist so etwas wirklich nötig?
Ja, ich bin der Meinung, dass solche Fehler schon von Grund auf vermieden/umgangen werden sollten da der "angehende Programmierer" somit gleich lernt es "richtig" beziehungsweise sicher zu machen. Außerdem lassen sich so auch Fehler vermeiden, die sehr wahrscheinlich entstehen, wenn man Execute() Buchstaben und Zahlen oä. verrechnen lässt...
-
Und genau so schaffen die 'bösen' Hacker es dann Spaß zu haben RR04!
[autoit]
Gebt in seinem Beispiel doch bitte mal eine 'Rechnung' wie zum BeispielMsgBox(64,'...','Also immer erst filtern und dann ausführen... :P')
[/autoit]ein und seht euch an was passiert...
[autoit]
Deshalb filtert man solche Usereingaben immer erst:$Eingabe = InputBox('Eingabe','Rechnung:')
[/autoit]
$Ergebnis = Execute(StringRegExpReplace($Eingabe,'[^\*\/\-\+\.\d]',''))
If $Ergebnis == "1.#INF" Or $Ergebnis == "-1.#IND" Then $Ergebnis = "Error"
MsgBox(0,'',$Ergebnis)
ExitEdit: Punkt im RegExp-Pattern hinzugefügt. Danke James

-
-
Dafür gibt es doch die Firefox UDF...

-
"Damals" als ich mit Autoit begonnen hatte, hab ich das auch mal umgesetzt.
Allerdings wurde mir das Raten irgendwann zu langweilig und ich hab das Script so umgeschrieben, dass der Computer gegen sich selbst spielt und versucht die Zahl mit möglichst wenigen Versuchen zu erraten...
Ansonsten: Schönen Script...
-
So was?
Spoiler anzeigen
[autoit]#include <WindowsConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include<EditConstants.au3>
Global $Input, $Passwort = '1234'
$Gui = GUICreate('LockScreen', @DesktopWidth, @DesktopHeight, -1, -1, $WS_POPUP, 0)
GUISetBkColor(000000)
$Input = GUICtrlCreateInput('', @DesktopWidth / 2 - 100, @DesktopHeight / 2 + 50, 200, 21, $ES_PASSWORD)
GUISetState(@SW_SHOW)
WinSetOnTop('LockScreen', '', 1)
HotKeySet('{ENTER}', '_Eingabe')While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(500)
If Not WinActive('LockScreen') Then WinSetOnTop('LockScreen', '', 1)
WEndFunc _Eingabe()
[/autoit]
If GUICtrlRead($Input) = $Passwort Then Exit
EndFunc -
Aber irgendwie wird der Code immer umformatiert obwohl ich den zwischen das AutoIt Element packe
Es ist essenziell das du vor dem Einfügen des Quellcodes in den "Quellcode-Tab" des WYSIWYG-Editors wechselst...
