Zum Inhalt springen

Wsh - Vbs


Spoom

Empfohlene Beiträge

Hab folgendes VBS-Skript geschrieben:



WScript.Echo WScript.Interactive

'Parameter

'Abfragen ob das Programm mit allen Parameter aufgerufen wird

'Parameterübergabe erfolgt im Array Script.Arguments

If WScript.Arguments.count() <> 3 And WScript.Arguments.count() <> 4 Then

msgbox "Parameter benötigt!" & vbCr & chr(10) & "1. Dateiname/Maske z.B. *.* *.txt" & vbCr & chr(10) & "2. Dateiname Ausgabedatei" & vbCr & chr(10) & "3. Befehl (Platzhalter fürDateiname %1)" & vbCr & chr(10) & "4. Optional: Arbeitsverzeichnis"

WScript.Quit(ExitCode)

End If

'Übertrgen übergebenen Parameter in Variablen

ParmFileFilter = WScript.Arguments(0)

ParmOutputfile = WScript.Arguments(1)

ParmCommands   = WScript.Arguments(2)

If WScript.Arguments.count() = 4 Then 

ParmFolder     = WScript.Arguments(3)

End If 


'Deklaration

'Deklarieren der Objekte fs und FileFilter

Set fs = CreateObject("Scripting.FileSystemObject")

Set shell = CreateObject("wscript.shell")

'Set FileFilter = CreateObject("filefilter.wsc")


'Plausi

'Überprüfen ob übergebener Ordner existiert

If ParmFolder <> "" And fs.FolderExists(ParmFolder) = False Then

MsgBox "Parameter 4: Ordner nicht Vorhanden!"

WScript.Quit(ExitCode)

End If


'Wenn kein Filter Filter = *.*

If ParmFileFilter = "" Then

ParmFileFilter = "*.*"

End If


'Wenn keine Ordner übergeben wird Ordner in dem das Programm liegt nehmen

If ParmFolder = "" Then

ParmFolder = fs.getabsolutepathname(".") & "\"

End If


ParmOutputfile = ParmFolder & ParmOutputfile



'OrdnerAuslesen

Set FileFolder = fs.getfolder(ParmFolder)

Set folder = fs.GetFolder(ParmFolder)

Set files  = folder.files




For Each filename In files

'Dateiname aus Pfad und Name

  i = split(filename, "\")

  filename = i(Ubound(i))

If  FileFilter(filename, ParmFileFilter) Then

'Dateiname ohne Endung  

  i = split(filename, ".")

  filename = i(0)

'$1 in der Befehlsübergabe mit dem Dateinamen ersetzten  

  Commands = Commands & replace(ParmCommands, "$1", filename) & vbCr & chr(10) 

End If

Next


'Wenn keine Dateien gefunden

If Commands = "" Then

MsgBox "Keine Datei gefunden!"

WScript.Quit(ExitCode)

End If



'Wenn Datei schon vorhanden Inhalt anhängen

If fs.FileExists(ParmOutputfile) Then

Set InputFile = fs.OpenTextFile(ParmOutputfile)

'Inhalt lesen und neuen Inhalt anhängen

Commands = Inputfile.readAll() & Commands

End If


'Datei schreiben

Set Outputfile = fs.CreateTextFile(ParmOutputfile, True)

Outputfile.Write (Commands)

Outputfile.Close


'Filefilter funktion

Function FileFilter(filename, ParmFileFilter)

'Bei *.* nicht Prüfen

If ParmFileFiltert = "*.*" Then

    FileFilter True

End If

'Beim stern splitten

FF = split(ParmFileFilter, "*")

If count(FF) > 2 Then

MsgBox "Parameter 1: Falsche Form(Gültig *.txt oder xyz*.txt)!"

WScript.Quit(ExitCode)

End If 



'Überprüfen ob Teile des Dateinamen gleich der Teile in der Maske

If count(FF) = 2 Then

FilterLeft = FF(0)

FilterRight = FF(1)



If  LCASE(FilterLeft) = LCASE(left(filename, len(FilterLeft))) And LCASE(FilterRight) = LCASE(right(filename, len(FilterRight))) Then

FileFilter = True

Exit Function

End If 

End If 



    FileFilter = False

End Function



Function count(arr)

For Each val In arr

    a = a + 1

Next

count = a

End Function


und das ding läuft im Batch ab sprich er sperrt die CMD-Line nicht obwohl WScript.Interactive = true ist.

Ich bin am verzweifeln wo dran kann das liegen ?

Spoom

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...