Alle Windows-Kommandos

Liste der Windows-Kommandozeilentools - Kommandos und -Befehle unter MS Windows

Liste der Windows-eigenen Kommandos

find

Übersicht

Befehl
Kurzbeschreibung
Syntax
Beispiele
     Ausgabe eines Befehls in eine Variable holen


Befehlfind
KurzbeschreibungSucht in einer oder mehreren Dateien nach einer Zeichenfolge.
Syntax
Hinweis: Diese Datei finden Sie im System32-Ordner. 
Kommando zum Anzeigen der Hilfe: find /? 

Sucht in einer oder mehreren Dateien nach einer Zeichenfolge.

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]]"Zeichenfolge"
     [[Laufwerk:][Pfad]Dateiname[ ...]]

  /V         Zeigt alle Zeilen an, die die Zeichenfolge NICHT enthalten.
  /C         Zeigt nur die Anzahl der die Zeichenfolge enthaltenden Zeilen an.
  /N         Zeigt die Zeilen mit ihren Zeilennummern an.
  /I         Ignoriert Groß-/Kleinschreibung bei der Suche.
  /OFF[LINE] Überspringt keine Offlinedateien.
  "Zeichenfolge"               Die zu suchende Zeichenfolge
  [Laufwerk:][Pfad]Dateiname   Zu durchsuchende Datei(en)

Fehlt der Pfad, so durchsucht FIND von der Tastatur aus eingegebenen Text oder
die Ausgabe des Befehls, der FIND in einer Befehlskette vorangestellt ist.
Beispiele

Ausgabe eines Befehls in eine Variable holen

Zunächst muss man wissen, in welchem Format die Ausgabe eines Kommandos daherkommt und wie man die gesamte Ausgabe nach der gewünschten Zeile filtern kann.

Oft steht die gewünschte Information dann auch nicht allein in der Zeile - dann muss man noch die anderen Informationen ausblenden. Am einfachsten ist dies mit der FOR-Schleife zu bewerkstelligen. Mit den Parametern TOKENS und DELIMS lässt sich die Ausgabe effektiv beschneiden. Das Setzen der Variable erfolgt mit dem normalen SET Befehl.

rem -- Beispiel 1 --
For /F "tokens=2 Delims=:" %%i in ('ipconfig /all^|Find /i "DNS"') Do [BR]
  @Set DNSSERVER=%%i
echo DNSSERVER=%DNSSERVER%
 
rem -- Beispiel 2 --
For /F "tokens=3" %%i in ('Net Config Workstation^|Find /i "Arbeitsstationsdom„ne"') Do [BR]
  @Set WORKGROUP=%%i
echo WORKGROUP=%WORKGROUP%
 
rem -- Beispiel 3 --
set sTMPFILE=%temp%\~test.tmp
regedit /e %sTMPFILE% "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion"
For /F "tokens=2 Delims==" %%a in ('type %sTMPFILE%^| find "ProductId"') do [BR]
  @set winSerial=%%a 2>nul
del %sTMPFILE%
echo Windows-Serial Number=%winSerial%

so holt man den Wert aus der Registry in eine Variable - das funktioniert mit Hilfe der reg.exe, die XP beiliegt:
Hinweise:
  • Der erste Befehl könnte mehrere DNS-Server zurückgeben (wg. alternativen DNS-Servern als auch bei mehreren Netzwerkkarten) - beachte, dass per Default in der For-Schleife nur der letzte Wert zurückgeliefert wird. Mehr zu dieser Eigenheit erfährst du nach Eingabe "for /?" in der Kommandozeile.
  • Das Auffinden der Workgroup oder Domäne sucht nach einem deutschen String. Bei einem anderssprachigen Betriebssystem funktioniert dieser Aufruf schon nicht mehr.
  • regedit exportiert immer alle untergeordneten Schlüssel. Unter XP sollte man reg einsetzen:
    reg QUERY HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion /v ProductId

    Dies ist wesentlich schneller und einfacher zuschreiben (aber eben nicht kompatibel zu älteren Win-Versionen). Dieser Aufruf ermittelt den Ordner der History des IE (alles ist in eine Zeile zu schreiben):
    set regfolder="HKEY_CURRENT_USER&Software\Microsoft\Windows\CurrentVersion [BR]
      \Explorer\Shell Folders"
    For /F "tokens=3* delims=[tab_druecken]" %%i in [BR]
      ('reg QUERY %regfolder% /v "History" ^| findstr /i "History"')
    Do set HistoryDir=%%i

s.a. » echo » findstr » for » ipconfig » net config » reg » regedit » set » type


Übersicht