Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit VB-Sckript eine Batch-Datei mit mehr als einem Argument auszuführen geht nicht

Frage Entwicklung Batch & Shell

Mitglied: evinben

evinben (Level 2) - Jetzt verbinden

16.07.2012, aktualisiert 17.07.2012, 3889 Aufrufe, 4 Kommentare

Hallo,

ich versuche mit einem VB-Sckript eine Batch-Datei mit Argumenten auszuführen. Wenn nur ein Argument übergeben wird, dann wird die Batch-Datei fehlerfrei ausgeführt - so:
01.
 CreateObject("Shell.Application").ShellExecute "D:\Probe1.bat","Arg1 FileName",,"runas",1
Wenn aber mehr als ein Argument wie folgt übergeben werden
01.
CreateObject("Shell.Application").ShellExecute "D:\Probe1.bat","""Arg1 FileName"" ""Arg2 RunOptions""",,"runas",1
dann öffnet sich das CMD-Fenster und schließt sich sofort. In der Batch-Datei "D:\Probe1.bat" steht während des Testes nur PAUSE und nichts anders! Also völlig leer.
Auf einem anderen Rechner probiert und das Problem ist dasselbe. Zahlreiche Versuche und Kombinationen mit den Anführungszeichen habe ich in der VBS-Syntax vorgenommen und immer noch kein Erfolg.
Ich habe gelernt, dass in VBS die Anführungszeichen der Argumente verdoppelt werden müssen (und anschließend alle Argumente zusätzlich in Anführungszeichen umrahmen).

Woran kann es liegen?

Gruß
evinben
Mitglied: rubberman
16.07.2012 um 20:40 Uhr
Hallo evinben.

Ich hätte jetzt auch nicht gedacht dass es so schwierig sein könnte, aber nach 3 Versuchen so:
01.
CreateObject("Shell.Application").ShellExecute "cmd.exe", " /c """"D:\Probe1.bat"" ""Arg1 FileName"" ""Arg2 RunOptions""""", "", "runas", 1
Grüße
rubberman
Bitte warten ..
Mitglied: evinben
16.07.2012, aktualisiert 17.07.2012
Hallo rubberman!

Danke dir vielmals für deine erneute Rettung!
Ich sehe, dass der Aufbau ähnlich ist, wie in dem vorherigen Beitrag mit der „uac.vbs“-Datei von dir. Dennoch wollte ich lieber fragen, da es ja mit einem Argument ohne „cmd.exe“ geht.
Ich werde mir diese Lösung - mit cmd.exe dazwischen - als Standard in meinen Vorlagen abspeichern.

Gruß
evinben
Bitte warten ..
Mitglied: 76109
16.07.2012, aktualisiert um 23:59 Uhr
Hallo rubberman!

Hatte mich leider verkuckt

Gruß Dieter
Bitte warten ..
Mitglied: rubberman
17.07.2012, aktualisiert um 01:20 Uhr
Hallo evinben,

ich kann das Verhalten jetzt auch nicht zu 100% nachvollziehen, ich hatte allerdings auch keinen Erfolg den Batch direkt mit den beiden Argumenten aufzurufen.
Die zig Anführungszeichen machen das Lesen nun nicht gerade einfacher, darum vielleicht noch eine kleine Interpretationshilfe. Wenn du die von dir zitierte Regel mit Strings und Anführungszeichen mal umgekehrt anwendest (also umschließende Anführungszeichen entfernen und verdoppelte zu einfachen reduzieren), dann kommst du letztlich zu einer Kommandozeile, die wie folgt aussieht:
cmd.exe /c ""D:\Probe1.bat" "Arg1 FileName" "Arg2 RunOptions""
Das heißt, der gesamte Ausdruck ist in Anführungszeichen gefasst und die einzelnen Argumente nochmals extra, da sie Leerzeichen enthalten oder enthalten könnten.

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst VB Skript für mehrere Batch Befehle (37)

Frage von freshman2017 zum Thema VB for Applications ...

Batch & Shell
Batch Datei wird per Aufgabenplanung nicht ausgeführt (7)

Frage von Corraggiouno zum Thema Batch & Shell ...

Basic
gelöst Mit Visual Basic Batch Datei öffnen (26)

Frage von Flodsche zum Thema Basic ...

Batch & Shell
gelöst Asymetrische Datei Verschlüsselung ( Batch ) (24)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...