Visual Basic Script für Dateierweiterung vbs kein Skriptmodul

Durch die Registrierung mit dem REG ADD-Schlüssel werden Visual Basic Script ausführbar.

Bei dem Versuch Dateien mit dem Typ .vbs (Visual Basic Script) auszuführen erscheint ein Fehler. Möchte man mit einem Doppelklick die VB-Script Datei ausführen, kommt es statt dessen zum Windows Script Host Fehler.

Visual Basic Script für die Dateierweiterung vbs gibt es kein Skriptmodul

Für die Dateierweiterung vbs gibt es kein Skriptmodul.

Wenn dieser Fehler Hinweis erscheint, ist der Dateityp .vbs nicht mit dem Windows Script Host verknüpft.

Ursache

Dies ist ein Windows-Problem. Die richtige Zuordnung für den Dateityp .vbs ist nicht richtig eingestellt. Zur Behebung dieser Fehlermeldung gibt es unterschiedliche Empfehlungen. Das Problem ist dadurch verursacht, dass .vbs-Dateien einem anderen Programm als Microsoft Windows Based Script Host (Standardeinstellung) zugeordnet werden.

Lösung

Abhilfe schafft die folgende Registrierung für Visual Basic Script, mit öffnen einer Eingabeaufforderung als Administrator.

REG ADD "HKCR\.vbs" /ve /t REG_SZ /d "VBSFile" /f
REG ADD "HKCR\.vbs" /v "PerceivedType" /t REG_SZ /d "text" /f
REG ADD "HKCR\.vbs" /v "Content Type" /t REG_SZ /d "text/plain" /f
REG ADD "HKCR\.vbs\PersistentHandler" /ve /t REG_SZ /d "{5e941d80-bf96-11cd-b579-08002b30bfeb}" /f

Durch einfügen der REG Zeilen wird die Verknüpfung für Visual Basic Script Dateien (.vbs) in der Registry hinzugefügt.

Visual Basic Script Ausführung

Die VBS-Dateien nun in einer Windows 10 und Windows 11 Befehlszeilenumgebung ausführen.

Eine weitere alternative Möglichkeit besteht darin, die .vbs-Skriptdateien mit dem folgenden Befehl erneut zuzuordnen:

assoc .vbs=VBSFile

In dieser besonderen Situation verfügte der Benutzer bereits über .vbs-Skriptdateien, die bereits mit Microsoft Windows Based Script Host verknüpft waren.

VBScript (Microsoft Visual Basic Scripting Edition) ist eine von Microsoft entwickelte Active-Scripting-Sprache, die auf Visual Basic basiert. Es ermöglicht Microsoft Windows-Systemadministratoren, leistungsstarke Tools zur Verwaltung von Computern ohne Fehlerbehandlung und mit Unterroutinen und anderen erweiterten Programmierkonstrukten zu generieren. Es kann dem Benutzer die vollständige Kontrolle über viele Aspekte seiner Computerumgebung geben.

Visual Basic Script (VBScript oder VBS) ist eine von Microsoft entwickelte Skriptsprache. Sie ist eng verwandt mit Visual Basic (VB) und Visual Basic for Applications (VBA) und wird üblicherweise interpretiert.

VBS kann auf alle COM-Komponenten mit IDispatch-Schnittstelle zugreifen, die unter Windows verfügbar sind, insbesondere auf die Bibliotheken der Microsoft-Office-Programme, die Datenbanken wie Access und SQL-Server, auf andere Anwendungen und natürlich auf die Bibliotheken des Betriebssystems. Die Verwendung normaler Programmbibliotheken (DLL-Dateien) ist jedoch nicht vorgesehen und nur mit entsprechender COM-Unterstützung möglich.

Dateien Suchen nach Änderungsdatum mit Find mtime iname

Find mtime und atime ist der Befehl der Wahl, wenn nach Änderungsdatum von Dateien auf dem Filesystem gesucht wird. Das Command Line Tool find bietet zahlreiche Optionen wie iname, mtime und atime, auch für die Anwendung in Shell-Scripts. Der Befehl find --help gibt dabei Hilfe, und man find zeigt die ausführliche Manpage.

Dateien mit find iname mtime suchen

Im Filesystem besitzt jede Datei drei Zeitstempel, die geändert werden, wann bestimmte Operationen an der Datei durchgeführt werden:

  • [a] access (den Inhalt der Datei lesen) – atime
  • [b] den Status ändern (die Datei oder ihre Attribute ändern) – ctime
  • [modify] (den Inhalt der Datei ändern) – mtime

Wir können Dateien suchen, deren Zeitstempel innerhalb eines bestimmten Altersbereichs liegen, oder sie können mit anderen Zeitstempeln verglichen werden.

find datei mtime (modify)

Die -mtime gibt eine Liste der Dateien zurück, wenn auf die Datei zuletzt vor N*24 Stunden zugegriffen wurde. Um beispielsweise eine Datei des letzten Monats (N=30 Tagen) zu finden, kann die -mtime +30 verwendet werden.

  • -mtime +30 bedeutet Datei suchen, die vor 30 Tagen geändert wurde.
  • -mtime -30 bedeutet weniger als 30 Tage.
  • -mtime 30 ohne + oder – bedeutet genau 30 Tage.

Hier werden Textdateien gesucht, die vor 30 Tagen zuletzt geändert wurden, mit folgendem Befehl:

$ find /home/user -iname "*.txt" -mtime -30 -print

Inhalte von Dateien anzeigen die zuletzt vor 30 Tagen geändert wurden:

$ find /home/user -iname "*.txt" -mtime -30 -exec cat {} \;

Die Gesamtzahl der TXT-Dateien zählen mit dem Befehl wc (Word Count):

$ find /home/user -iname "*.txt" -mtime -30 | wc -l

Gzip-Archiv Dateien die älter als 30 Tage sind löschen:

$ find /home/user/*.gz -mtime +30 -exec rm {} \;

find datei atime (access)

Nach Zugriffszeit suchen, der Befehl find atime gibt die Liste aller TXT-Dateien aus, auf die in den letzten 30 Tagen zugegriffen wurde:

$ find /home/user -iname "*.txt" -atime -30 -type -f

Mit find iname und atime json-Dateien auflisten auf die vor genau 14 Tagen zugegriffen wurde:

$ find /home/user -iname "*.json" -atime 14 -type -f

Hinweis: Der Schalter -type f – sucht nur nach Dateien, ohne Verzeichnisse.

Find kann Zeichenfolgen rekursiv in allen Dateien ab dem aktuellen Verzeichnis finden.

$ find . -type f -print0 | xargs -0 grep "some string"

Beispiel: Dateien rekursiv mit chmod ab dem aktuellen Verzeichnis ändern, jedoch nicht die Verzeichnisse.

$ find . -type f -print0 | xargs -0 chmod 0644

und umgekehrt, alle Verzeichnisse rekursiv mit chmod ab dem aktuellen Verzeichnis ändern, aber nicht die Dateien.

$ find . -type d -print0 | xargs -0 chmod 0755

find datei daystart

Die Option -daystart wird verwendet, um die Zeit ab Beginn des aktuellen Tages statt vor 24 Stunden zu messen. Finde alle gestern geänderten C++ Dateien (*.CPP) mit folgendem Befehl:

$ find /home/user -iname "*.CPP" -daystart -mtime 1

Um alle LOG-Dateien in /var/log aufzulisten, auf die gestern zugegriffen wurde, gilt der folgende Befehl:

$ find /var/log -iname "*.log" -daystart -mtime 1 -type f

C++ Dateien auflisten mit find iname mtime die vor 2-7 Tagen geändert wurden:

$ find /home/user -iname "*.CPP" -daystart -mtime 2 -mtime -7

Um Dateien im Verzeichnisbaum /home/user zu finden, die neuer sind als die Datei /mnt/user, führe folgendes aus:

$ find home/user -newer /mnt/user

Fazit

Mit dem Befehlszeilentool find lässt sich nach Dateien suchen mit find iname und mtime, um in der Linux Shell Dateien nach ihrem Änderungsdatum zu finden. Das Command Line Tool bietet mit den zahlreichen Optionen viele Möglichkeiten, diese auch in der Scriptverarbeitung nützlich sind.

Die mobile Version verlassen