Parameterübergabe an CMD oder Script zur Überprüfung ob Pfad vorhanden

  • VBScript

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Parameterübergabe an CMD oder Script zur Überprüfung ob Pfad vorhanden

    Hallo,

    ich habe kleinere Vorgänge meist über eine Batch erledigt.
    Da diese dann den DOS-Prompt in einem schwarzen Fenster laufen starte ich die dann über VBS und das "Fenster" wird nicht sichtbar:

    Quellcode

    1. Set WshShell = CreateObject("WScript.Shell")
    2. WshShell.Run chr(34) & "C:\notepat++.cmd" & Chr(34), 0
    3. Set WshShell = Nothing


    Die CMD sieht so aus:

    Quellcode

    1. if exist "C:\Program Files\Notepad++\notepad++.exe" (
    2. start "" "C:\Program Files\Notepad++\notepad++.exe" %1 && goto exit
    3. ) else (
    4. if exist "C:\Program Files (x86)\Notepad++\notepad++.exe" (
    5. start "" "C:\Program Files (x86)\Notepad++\notepad++.exe" %1 && goto exit
    6. ) else (
    7. goto info
    8. )
    9. goto info
    10. )
    11. :info
    12. echo msgbox"Notepad++ nicht gefunden, bitte x64 oder x86 installieren",vbInformation , "Notepad++ wurde auf diesem PC nicht gefunden"> %temp%\msg.vbs
    13. %temp%\msg.vbs
    14. erase %temp%\msg.vbs
    15. exit
    16. :exit
    17. exit


    Jetzt möchte ich beim Aufruf der Notepad++.cmd noch die zu editierende Textdatei als Parameter mitgeben. Hierzu muss ich der VBS die Textdatei als Parameter übergeben. Also:

    Quellcode

    1. Notepad++.vbs "PfadzurDatei\test.txt"
    Der so übergebene Parameter wird in der CMD mit %1 verarbeitet.

    Meine Versuche den Aufruf im VBS mit WScript.Arguments(0) zu erweitern sind bisher alle gescheitert, außerdem würde die gesamte Abfrage in der Batch bestimmt auch nur über VBS zu lösen sein, oder nicht?

    Danke für die Hilfe
    Was genau hast du denn versucht, um das Argument vom VBS an die CMD zu übergeben?

    Rein von der Theorie her müsste es so gehen (ungetestet):

    Visual Basic-Quellcode

    1. Set WshShell = CreateObject("WScript.Shell")
    2. WshShell.Run chr(34) & "C:\notepat++.cmd" & Chr(34) & " " & Chr(34) & WScript.Arguments(0) & Chr(34), 0
    3. Set WshShell = Nothing

    Natürlich kann man deine CMD auch wegrationalisieren und alles in VBS machen.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum