2024 Autor: Peter John Melton | [email protected]. Zuletzt bearbeitet: 2024-02-01 13:06
Eine sehr nützliche Funktion, die in der Windows-Bibliothek von Befehlszeilentools fehlt, ist die Möglichkeit, Text in einfachen Textdateien zu ersetzen. Eine solche Funktion kann für eine Vielzahl von praktischen Aufgaben verwendet werden, die von vielen Systemadministratoren ausgeführt werden, z.
- Aktualisieren Sie Konfigurations- / INI-Dateien, um UNC-Pfade zu ersetzen.
-
Massenaktualisierungsbenutzerinformationen, die in INI-Dateien auf einem Terminal / Citrix-Server gespeichert sind.
- Verwenden Sie diese Option in Verbindung mit Skripts, um "Templated" -Daten bereitzustellen, und wenden Sie dann Werte auf die kopierten Dateien an.
Unsere Lösung ist ein VBScript, das mit der Visual Basic Replace-Funktion verbunden ist. Wenn Sie dieses Skript an einem Ort in Ihrer Windows PATH-Variablen ablegen, steht Ihnen diese Funktionalität jetzt zur Verfügung.
Verwendet
Sobald Sie sich auf Ihrem System befinden, können Sie das Skript einfach mit dem Befehl ReplaceText aufrufen. Einige Beispiele zeigen, wie Sie dies verwenden können:
Ersetzen Sie das Wort "null" durch "n / a" in der Datei C: DataValues.csv:
ReplaceText “C:DataValues.csv” null n/a
Scannen Sie alle INI-Dateien im Ordner C: Users (+ Unterverzeichnisse) und ersetzen Sie alle Vorkommen von „Server = Old“durch „Server = New“. Dabei wird zwischen Groß- und Kleinschreibung unterschieden:
FORFILES /P “C:Users” /M *.ini /S /C “Cmd /C ReplaceText @path Server=Old Server=New /I”
Scannen Sie alle CFG-Dateien im aktuellen Benutzerprofil und ersetzen Sie „p @ ssw0rd“durch „PA $$ woRd“. Dabei wird zwischen Groß- und Kleinschreibung unterschieden:
FORFILES /P “%UserProfile%” /M *.cfg /S /C “Cmd /C ReplaceText @path p@ssw0rd PA$$woRd”
Wie Sie unten sehen können, ist das Skript sehr einfach und kann leicht modifiziert werden, um besonderen Situationen Rechnung zu tragen. Alternativ möchten Sie möglicherweise Kopien des Skripts erstellen, die bestimmte Werte hardcodieren, sodass Sie den Befehl mit einem Doppelklick ausführen und / oder ihn leicht an andere Benutzer verteilen können.
Das Skript
'Replace Text 'Written by: Jason Faulkner 'SysadminGeek.com
'This script should be placed in a folder specified in your system's PATH variable.
'Usage (WScript): 'ReplaceText FileName OldText NewText [/I]
' /I (optional) - Text matching is not case sensitive
Set oArgs = WScript.Arguments
intCaseSensitive = 0 For i = 3 to oArgs.Count-1 If UCase(oArgs(i)) = '/I' Then intCaseSensitive = 1 Next
Set oFSO = CreateObject('Scripting.FileSystemObject')
If Not oFSO.FileExists(oArgs(0)) Then WScript.Echo 'Specified file does not exist.' Else Set oFile = oFSO.OpenTextFile(oArgs(0), 1) strText = oFile.ReadAll oFile.Close
strText = Replace(strText, oArgs(1), oArgs(2), 1, -1, intCaseSensitive)
Set oFile = oFSO.OpenTextFile(oArgs(0), 2) oFile.WriteLine strText oFile.Close End If
Zusätzliche Bemerkungen
Standardmäßig verwendet Windows WScript, um VBScript-Dateien (VBS-Dateien) auszuführen. Das einzige Problem, das dies verursachen kann, ist, dass Fehler und / oder Meldungen aus dem Skript als Popup-Felder angezeigt werden. Für ein Befehlszeilentool sollten diese Meldungen am besten in der Konsole angezeigt werden. Es gibt mehrere Möglichkeiten, dies zu erreichen.
Ändern Sie den Standardhandler für VBScript-Dateien in CScript, indem Sie diesen Befehl an der Eingabeaufforderung (mit Administratorrechten) ausführen:
CScript //H:CScript
Führen Sie das ReplaceText-Skript explizit mit dem CScript-Befehl aus:
CScript “C:PathToReplaceText.vbs” //B FileName OldText NewText [/I]
Als Sonderfall impliziert das Ausführen von ReplaceText aus einem Batch-Skript in der Regel CScript als Engine, die unabhängig vom Standardhandler verwendet wird. Sie werden dies auf jeden Fall testen wollen, bevor Sie sich auf diese Funktionalität verlassen.
Laden Sie das ReplaceText-Skript von SysadminGeek.com herunter
Empfohlen:
Löschen Sie den IE7-Browsing-Verlauf über die Befehlszeile
Wenn Sie Batch-Dateien erstellen möchten, um die Bereinigung auf Ihrem Computer zu automatisieren, möchten Sie wahrscheinlich mindestens einen dieser Befehle in Ihr Batch-Skript aufnehmen. Sie können eine beliebige Funktion im Dialogfeld "Browserverlauf löschen" von Internet Explorer 7 automatisieren.
Stellen Sie den Standardbrowser unter Ubuntu über die Befehlszeile ein
Ubuntu Linux verfügt über eine Standardbrowserfunktion, die automatisch den richtigen Browser startet, wenn Sie auf einen Link in einer Gnome Gui-Anwendung klicken. Es ist einfach, den Standardbrowser mithilfe der GUI-Tools festzulegen. In manchen Fällen ist es jedoch einfacher, ihn über den Befehlszeilenclient festzulegen. Dies ist beispielsweise der Fall, wenn Sie versuchen, eine Maschine aus der Ferne zu verwalten.
Aktivieren oder deaktivieren Sie die Benutzerkontensteuerung über die Windows-Befehlszeile
Wenn Sie Windows Vista mehr als 3,7 Minuten lang verwendet haben, wissen Sie, was UAC (User Account Control) ist. Es ist das abscheuliche, nervige Popup-Fenster, das Ihr Leben für die nächsten 3-5 Jahre sein wird, wenn Sie nicht zu XP wechseln Frustration oder ein besseres Betriebssystem wie… OS X, Suse, Ubuntu oder sogar XP.
Über das Feld "Tipps": Führen Sie den Calibre Content Server über die Befehlszeile aus, bewerten Sie die Festplatten auf The Cheap und die Windows 8-Menüoptimierung
Einmal in der Woche fassen wir drei hervorragende Lesertipps zusammen und teilen sie mit dem größeren How-To-Geek-Publikum. In dieser Woche untersuchen wir, wie ein E-Book-Server von der Befehlszeile aus ausgeführt wird, wie billige Festplatten bewertet werden und Windows 8-Menüs angepasst werden.
So führen Sie die Problembehandlung in Windows 10 über die Befehlszeile aus
Erfahren Sie, wie Sie Hardware-, Audio-, Power-Netzwerk-, Windows Update-, Systemwartungs-, App-, Sound usw.-Problembehandlungen in Windows 10/8/7 von der Befehlszeile aus mit MSDT.exe ausführen.