Hallo ich rufe einen DIR Befehl mit
[autoit]Run(@ComSpec & " /c " & $sCommand, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
[/autoit]auf und hole mir die Ausgabe.
Soweit so gut, allerdings kommt es vor das Umlaute im Beispiel "Zubehör" ausgegeben werden die von DOS nach Autoit verbaselt werden, hat jemand eine Idee was ich noch mit dem String machen kann um das zu lösen?
Testscript:
Spoiler anzeigen
$Drive = "C:\"
$sCMDOutput = _myRunDos("dir /AL /S " & $Drive)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sCMDOutput = ' & $sCMDOutput[0] & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
[/autoit] [autoit][/autoit] [autoit]Func _myRunDos($sCommand)
Local $sDosOutputLine[2]
$sDosOutputLine[0]=""
$sDosOutputLine[1]=""
Local $foo = Run(@ComSpec & " /c " & $sCommand, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Do
Sleep(250)
$sDosOutputLine[0] &= StdoutRead($foo)
$sDosOutputLine[1] &= StderrRead($foo)
Until @error
Return SetError(@error, @extended, $sDosOutputLine)
EndFunc ;==>_myRunDos