Problem: Konsolenausgabe in Datei speichern

  • Hallo zusammen

    Ich versuche die Konsolenausgabe von psinfo.exe in einer Datei zu speichern. dazu verwende ich folgenden Befehl:

    [autoit]

    RunWait (@ComSpec & " /c " & @WorkingDir & "\psinfo.exe" & " \\" & $pc & " -u " & $domain & "\" & $username & " -p " & $password & $iparam & ">" & '"' & $idir & "\" & $pc & ".txt" & '"', @WorkingDir ,@SW_HIDE)

    [/autoit]

    Die Datei wird zwar erstellt jedoch ohne Inhalt.
    Hat jemand eine Idee wo der Fehler liegt?
    Wenn ich den Befehl direkt in der Konsole ausführe funktioniert es.

  • So hab grade nochmal was ausprobiert. An der Fensterdarstellung liegt es nicht, vielmehr scheint es ein Problem zu geben wenn @workingdir Leerzeichen enthält.

    Das führt mich leider gleich zum nächsten Problem: ich habe so ziemlich alle Varianten zum Setzen von Anführungsstrichen ausprobiert, aber in keinem Fall wird die psinfo.exe noch gefunden... (Was auch das Problem von Anfang an war...)

  • Hi,

    oder:

    [autoit]


    $cmdtoexecute = " /c " & """" & @WorkingDir & "\psinfo.exe" & """"
    RunWait (@ComSpec & $cmdtoexecute & " \\" & $pc & " -u " & $domain & "\" & $username & " -p " & $password & $iparam & ">" & '"' & $idir & "\" & $pc & ".txt" & '"', @WorkingDir ,@SW_HIDE)

    [/autoit]

    ;-))

    Stefan

  • Leider auch nicht :(

    bisher hab ich folgende Varianten ausprobiert:

    [autoit]


    RunWait (@ComSpec & " /c """ & @WorkingDir & "\psinfo.exe" & " \\" & $pc & " -u " & $domain & "\" & $username & " -p " & $password & $iparam & """>" & '"' & $idir & "\" & $pc & ".txt" & '"', @WorkingDir ,@SW_HIDE)
    RunWait (@ComSpec & " /c """ & @WorkingDir & "\psinfo.exe""" & " \\" & $pc & " -u " & $domain & "\" & $username & " -p " & $password & $iparam & ">" & '"' & $idir & "\" & $pc & ".txt" & '"', @WorkingDir ,@SW_HIDE)
    RunWait (@ComSpec & " /c " & '"' & @WorkingDir & "\psinfo.exe" & '"' & " \\" & $pc & " -u " & $domain & "\" & $username & " -p " & $password & $iparam & ">" & '"' & $idir & "\" & $pc & ".txt" & '"', @WorkingDir ,@SW_HIDE)
    RunWait (@ComSpec & " /c " & '"' & @WorkingDir & "\psinfo.exe" & " \\" & $pc & " -u " & $domain & "\" & $username & " -p " & $password & $iparam & '"' & ">" & '"' & $idir & "\" & $pc & ".txt" & '"', @WorkingDir ,@SW_HIDE)

    [/autoit]

    PS:
    Ok so gehts:

    [autoit]


    $ipsinfoexe = FileGetShortName(@WorkingDir & "\psinfo.exe")
    RunWait (@ComSpec & " /c " & $ipsinfoexe & " \\" & $pc & " -u " & $domain & "\" & $username & " -p " & $password & $iparam & ">" & '"' & $idir & "\" & $pc & ".txt" & '"', @WorkingDir ,@SW_HIDE)

    [/autoit]

    Seltsam nur dass keine kurzen Datainamen erforderlich sind wenn man es direkt in der Konsole eingibt. *grübel*

    Naja werde erstmal so weiterarbeiten. Wenn noch jemand eine zündende Idee hat würde ich mich trotzdem freuen.

    Vielen Dank!

  • also ich mach das immer mit "runas" -> "$STDOUT_CHILD"

    so kann man die Ergebnisse noch fein in ein String/Array tüten und direkt auswerten :)

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • ">" evtl. ein bissel Luft lassen " > "

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Moin,

    [autoit]

    $ipsinfoexe = FileGetShortName (@WorkingDir & "\psinfo.exe")
    $parameters = " \\"& $pc &" -u "& $domain &"\"& $username &" -p "& $password & $iparam &' > "'& $idir &"\"& $pc &'.txt"'
    RunWait ($ipsinfoexe & $parameters, @WorkingDir , @SW_HIDE)

    [/autoit]


    LG
    Greenhorn