freysup
Goto Top

VBs Script mit runas as und Leerzeichen in der Commandline

Ich habe das Problem dass ich in vbs ein runas ausführen möchte.
Dabei sind in der command stelle Leerzeichen vorhanden.
Wie verschachtle ich diesen Befehl in vbs Scripting

Bsp.
cmd="runas /savecred /user:xxx "cmd /c dir "c:\Meine Dateien""

Vielen Dank

Content-ID: 159167

Url: https://administrator.de/contentid/159167

Ausgedruckt am: 13.11.2024 um 09:11 Uhr

Friemler
Friemler 21.01.2011 um 16:01:25 Uhr
Goto Top
Hallo an alle (außer freysup, der auch zu faul zum Grüßen war),

versuche es mal mit
cmd="runas /savecred /user:xxx ""cmd /c dir ""c:\Meine Dateien"""""
oder
cmd="runas /savecred /user:xxx ""cmd /c dir \""c:\Meine Dateien\"""""

Gruß
Friemler
freysup
freysup 21.01.2011 um 16:22:30 Uhr
Goto Top
Ach sorry klar tut mir echt leid.

War aber so vertieft in dem was ich gerade mach dass ich es total vergessen habe zu Grüßen

Also hier nochmal

Schönen Tag und ich wünsche allen ein schönes WE

face-smile
freysup
freysup 21.01.2011 um 16:41:17 Uhr
Goto Top
Doch noch eine Frage und zwar wenn es so ausehen sollte

cmd="runas /savecred /user:xxx "cmd /c dir "c:\Meine Dateien" > c:\dir.txt""

Danke
76109
76109 21.01.2011 um 18:15:21 Uhr
Goto Top
Hallo freysup!

Sollte so gehen:
cmd = "runas /savecred /user:xxx ""cmd /c dir ""c:\Meine Dateien"">""c:\dir.txt"""""
wobei beide Pfadangaben Leerzeichen beinhalten dürfen.

Gruß Dieter
Friemler
Friemler 21.01.2011 um 18:32:21 Uhr
Goto Top
Hallo freysup,

schau Dir doch mal meine Antwort von oben genau an. Du wirst feststellen, dass an Stellen, an denen ein Anführungszeichen in den Commandstring eingefügt werden muss, immer zwei Anführungszeichen stehen. Das ist die Art und Weise, wie man in VBS ein Anführungszeichen escaped, das Bestandteil eines Strings sein muss.

Dieses Wissen, wenn man es sich denn durch nachdenken oder googeln erworben hat, lässt sich auf Deine neue Frage übertragen.

Es gäbe auch die Möglichkeit, den Output des Befehls direkt in VBS weiterzuverarbeiten bzw. aus VBS in eine Datei zu schreiben.
set objShell = CreateObject("WScript.Shell")  
strCmd = "runas /savecred /user:xxx ""cmd /c dir ""C:\Meine Dateien"""""  
set objExCmd = objShell.Exec(strCmd)
strOut = objExCmd.StdOut.ReadAll
Nach Ausführung dieser Zeilen würde der Output des DIR-Befehls in der Variablen strOut stehen, komplett mit Zeilenumbrüchen. Ein WScript.Echo strOut bestätigt das.

Gruß
Friemler