Hallo zusammen,
Ich habe ein Python-Script, welches mehrere externe Kommandos ausführen soll. Diese Kommandos werden von dem Script zur Laufzeit erzeugt. Normalerweise würde ich diese Kommandos nun in einer Datei speichern und diese dann mit os.system oder os.popen ausführen. Die Kommandos selbst sind VBS-Kommandos - laufen also im Windows-Betriebssystem.
Mein Problem ist nun, dass ich keinerlei Dateien speichern kann - also diese Berechtigung nicht da ist.
Meine Idee wäre nun, ob es möglich ist diese Kommandos quasi in einer virutellen Datei zusammenzufügen (die also nur im Speicher existent ist) und diese dann auszuführen?
Oder denke ich zu umständlich und das kann man ganz anders lösen?
Ich verwende Python 2.7.2 unter Windows XP.
CU,
API
Kommandos virtuell ausführen?
Was sind VBS Commands? Und was sollen die *tun*? Und wie fuehrst du die genau ueber os.system aus?
und wie fuehrt man sowas aus? und kannst du stattdessen pywin32 verwenden, um das direkt ueber Python zu machen?
@deets: Direkt über Python ist da viel zu kompliziert. VBS bringt da Bordmittel mit, dass das nen 10 Zeiler ist.
@sparrow: Ich kann das VBS-Script ja nirgends ablegen, da ich keine Rechte dafür habe... und alles in VBS umzuschreiben, dafür ist dann VBS viel zu umständlich.
@sparrow: Ich kann das VBS-Script ja nirgends ablegen, da ich keine Rechte dafür habe... und alles in VBS umzuschreiben, dafür ist dann VBS viel zu umständlich.
Das kann ich nicht beurteilen, aber die haelfte meiner Frage hast du ja nicht beantwortet: wie ruft man VBS Skripte denn auf? Wenn der Interpreter da keine zb stdin-basierte Eingabe eines Skriptes vorsieht, dann hast du halt verloren.
@deets: Sorry, ja ich bin dir noch Infos schuldig.
Also, ich rufe das Script unter Windows (Kommandozeile) folgendermaßen auf:
=> cscript //nologo WLBFullname.vbs
Der Inhalt des Scripts ist übrigends dieser:
Wenn du weisst, wie ich das mit Python elegant lösen kann, wäre mir das natürlich umso lieber...
Also, ich rufe das Script unter Windows (Kommandozeile) folgendermaßen auf:
=> cscript //nologo WLBFullname.vbs
Der Inhalt des Scripts ist übrigends dieser:
Code: Alles auswählen
Set objSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
Wscript.Echo objUser.FullName & ""
Was so ein bisschen Googeln so zutage foerdert:
http://grokbase.com/t/python/python-win ... ou-located
Sieht fuer mich jetzt ehrlich gesagt nicht komplizierter aus als das, was du in VBS machst. Natuerlich musst du die win32-extensions installiert haben.
http://grokbase.com/t/python/python-win ... ou-located
Sieht fuer mich jetzt ehrlich gesagt nicht komplizierter aus als das, was du in VBS machst. Natuerlich musst du die win32-extensions installiert haben.
@api: Nur als Tipp für die Zukunft: Alles, was VBS (oder allgemein jede WSH-Sprache) kann, kann Python auch. Die Objekte, die Du in VBS verwendest, sind keine „Bordmittel“, sondern COM-Objekte, auf die Du mittels pywin32 in Python ebenso schnell und einfach zugreifen kannst