Global $sTime = StringReplace($Time, ":", "-") ist schuld. Hab ich dämlicher Holzkopf übersehen.
au mann....
stammt noch aus dem Code vorher und passt jetzt mit zusammengebautem Datum/Zeit natürlich nicht mehr....
Thema erledigt.
Beiträge von hipfzwirgel
-
-
-
Ja $Date ist eine Variable die ich benutze. habe wohl das kleine s vergessen. sorry for that...
-
Hallole Zusammen,
zunächst vielen lieben Dank an euch für die Denkanstöße. Da das Proggi international eingesetzt werden soll, werde ich wohl nicht umhin kommen
dass Datum und die Uhrzeit selbst zusammen zu bauen.
Ich hoffte es gäbe eine Funktion oder so die mir das abnimmt...Thema also erledigt
-
Hallo Profis,
ich benütze folgenden Code um eine Logdatei zuerstellen:CodeGlobal $sFilepath = ".\BBC-" & $Date & $sTime & "-" & $Comp & ".log" ; DateiPfad aus Namenssuffix, Datum, Uhrzeit und Computername If Not FileWrite($sFilepath, $Time & ", " & $Date & @CRLF & @CRLF & "Computer: " & $sModelvendor & " " & $sComputermodel & @CRLF & "Devicename: " & $Comp & @CRLF) Then MsgBox($MB_SYSTEMMODAL, "", "Error: Log-file could not be created") ; hiermit schreibe ich Daten in die Datei EndIf
Wenn ich das Proggi auf Rechnern mit deutscher Systemzeit einsetze alles gut. Wenn aber englische Systemzeit(Systemlocale) eingestellt ist,
kann die Datei nicht erzeugt werden, da das Datum z.B. so ausgegeben wird: 10/29/2019(/ nicht für Pfadangaben erlaubt).Wie kann man am elegantesten das Datum als 29.10.2019 ausgeben, egal welche Systemlocale eingestellt ist?
-
-
Hallo Bugfix,
danke für deinen Hinweis. Hast du eine Idee wie ich das gestartet Consolenfenster verstecken kann wenn ich das Gui aufrufe?
ich hatte es mal folgender maßen versucht:
Das GUI wird gestartet mit der Func Graph()
dort hatte ich dann folgenden Code als erste Zeile getestet:CodeGUISetState("[Class:ConsoleWindowClass]", @SW_HIDE) ;oder mit Title GUISetState("Administrator: Comand Prompt - bbc.exe", @SW_HIDE)
das Consolenfenster ist aber nicht verschwunden... -
Hallo Moombas,
ich habe eben nochmal bei mir getestet. Teil 1 meines Themas ist gelöst. Ich Dummlack hatte lediglich eine falsche Variable erwischt.
Da passten dann natürlich die Parameter nicht. So kann das dann nicht funktionieren.
Bleibt aber noch die Frage nach dem Verstecken des ConsolenFenster wenn daraus ein GUI geöffnet wird... -
Hallo Profis,
ich glaube ich stehe im Wald und sehe ihn vor lauter Bäumen nicht... Die folgende Codezeile funzt einwandfrei.Code$Status = Run("bcu64.exe /setvalue:""Password Minimum Length"",""4"" /cspwdfile:pw03.bin /verbose", "", "", $STDOUT_CHILD)
Wenn ich aber bcu64.exe als Variable einsetze bekomme ich als Return nicht die PID sondern 0
Also passt der Aufruf wohl nicht.
Code$Status = Run("" & $sSecHPPW & " /setvalue:""Password Minimum Length"",""4"" /cspwdfile:pw03.bin /verbose", "", "", $STDOUT_CHILD)
Auch der Aufruf ohne führendes " nach der Klammer(also Run($sSecHPPW & "...) geht nicht.
Hat wer eine Idee wie ich bcu64.exe und pw03.bin als Variablen in den String einfügen mussDie 2. Frage: wenn mein als Consolenprogramm gestartetes Script keine Parameter feststellt in $CmdLine, starte ich ein GUI.
gibt es die Möglichkeit das Fenster des Proggis zu verstecken, sodass nur das GUI sichtbar ist? -
-
Trotzdem Danke für die Antwort Musashi.
By the Way: ist der Objectcreate-aufruf eig. richtig so? -
Hallo Alpines,
ja, ich habe den Wald vor lauter Bäumen nicht gesehen. jede Zeile muss auch mit einem ' abgeschlossen werden. -
Hallo an Alle AutoIt-Profis,
ich möchte in einem Autoit-Proggi vbs-Script implementieren(das VBS-Script soll Bios-Settings via herstellerabhängigen WMI-Klassen ändern).
Folgenden Code habe ich aus dem Forum in den Autoitcode übernommen:Code
Alles anzeigenFunc ViewStatus() Local $Vbs = ObjCreate("MSScriptControl.ScriptControl") If @error Then MsgBox(16, 'Error', 'Error creating ScriptControl') Exit EndIf Local $sCode = 'Function ViewStatus()' & _ @LF & ' On Error Resume Next & _ @LF & ' Dim colItems & _ @LF & ' If WScript.Arguments.Count <> 3 Then & _ @LF & ' WScript.Echo "SetConfigPassword.vbs [setting] [value] [password + encoding]" & _ @LF & ' WScript.Quit & _ @LF & ' End If & _ @LF & ' strRequest = WScript.Arguments(0) + "," + WScript.Arguments(1) + "," + WScript.Arguments(2) + ";" & _ @LF & ' strComputer = "LOCALHOST" ' Change as needed. & _ @LF & ' Set objWMIService = GetObject("WinMgmts:" _ & _ @LF & ' &"{ImpersonationLevel=Impersonate}!\\" & strComputer & "\root\wmi") & _ @LF & ' Set colItems = objWMIService.ExecQuery("Select * from Lenovo_SetBiosSetting") & _ @LF & ' For Each objItem in colItems & _ @LF & ' ObjItem.SetBiosSetting strRequest, strReturn & _ @LF & ' Next & _ @LF & ' WScript.Echo strRequest & _ @LF & ' WScript.Echo " SetBiosSetting: " + strReturn & _ @LF & ' WScript.Quit & _ @LF & ' End Function' & @LF $Vbs.Language = 'VBScript' $Vbs.AddCode($sCode) $sRET = $Vbs.Run('WakeOnLAN', 'Disable', 'bla,ascii,us') $aArray1 = StringSplit($sRET, ":") _ArrayDisplay($aArray1) EndFunc ;==>ViewStatus
Was ich nicht verstehe ist, dass der Originalcode(s.u.) keinen Syntaxfehler ausgibt. Bei meinen geänderten VBS-Zeilen der Variablen $sCode, jedoch jedes ' reklamiert wird
Kann mir wer den Unterschied erklären und benötige ich für die Aktion i-welche Includes?
Originalcode:
Code
Alles anzeigenGlobal $Vbs, $sCode, $sRET $sCode = 'Function LoginValues(sUserInput, sPassInput)' & _ @LF & ' Dim RetStr' & _ @LF & ' RetStr = "Login values were:" & vbCRLF' & _ @LF & ' RetStr = RetStr & "User name = " & sUserInput & vbCRLF' & _ @LF & ' RetStr = RetStr & "Password = " & sPassInput & vbCRLF' & _ @LF & ' LoginValues = RetStr' & _ @LF & 'End Function' & @LF $Vbs = ObjCreate('ScriptControl') If @error Then MsgBox(16, 'Error', 'Error creating ScriptControl') Exit EndIf $Vbs.Language = 'VBScript' $Vbs.AddCode($sCode) $sRET = $Vbs.Run('LoginValues', 'My_User_Name', 'My_Password') ConsoleWrite("$sRET = " & $sRET & @LF)
-
Hallo Musashi,
hallo Alpines,
der Code in Beitrag #1 ist der Originalcode aus dem CMD-File. Dort heißt die Varaible wie genannt. Ich habe in Autoit-Code die Variable auf $sSecretPW geändert,
Allerdings ist das 2. S tatsächlich ein großes. Ist hier nur ein Tippfehler, sorry for that. -
Hallo Alpines,
ich danke dir vielmals für deine Anregungen. Werde ich testen. Das mit Opt() war mir bisher nicht bekannt.
Ich setze den Beitrag zunächst auf erledigt... -
-
Hallo Alpines,
auch dir danke für deine Antwort. Aber die beiden " " zwischen den & sind Leerzeichen die ich übergebe. Es soll also ein GesamtString von "/set... bis verbose"" sein.Meinst du das erste & fehlt da ein " nach 4"" ?
Meine Frage nach einer Übersicht über die Escape-Möglichkeiten ist bisher nicht beantwortet. Hast du oder jemand anderes eine Idee hierzu?
-
Achja: vieleln lieben Dank für die Hilfe
-
Hallo Musashi,
hallo Bufix,
dann habe ich den Shellexecutewait wohl i-wie falsch interpretiert, ich dachte ich muss den String als einen Parameter übergeben.
Dennoch bleibt die Frage ob es für die Escaperei irgendeine Unterlage, Liste, etc. gibt?
Mein Versuch mit Shellexecute:CodeShellExecuteWait($sProggi, "/setvalue:""Password Minimum Length"",""4"" & " " & ""/cspwdfile:"" & $ssecretPW & " " & ""/verbose"", "", "", "")
beim Kompilieren zeigt er mir immer einen Syntaxfehler bei den / an.
-
Hallo und guten Morgen an alle Autoit-Profis,
ich möchte folgende CMD-Befehlszeile in Autoit-Code umsetzen
z.B. mit Shellexecutewait(bcu64.exe...). Leider scheitere ich an den /-Strichen der Parametern.
Kann mir jemand mitteilen, wie ich die Schräger escape und 2. Frage: Gibt es i-wo eine Zusammenstellung aller Escapesequenzen/-möglichkeiten in Autoit.Ich suche mir bereits den ganzen Morgen einen Wolf nach Escapesequenzen finde aber nur zehmillionen Einträge bzgl. des escapens von "