Zamień tekst na zwykłe pliki tekstowe z wiersza poleceń
Bardzo przydatną funkcją, której brakuje w bibliotece narzędzi wiersza poleceń systemu Windows, jest możliwość zamiany tekstu w pliki tekstowe. Taka funkcja może być używana do wielu praktycznych zadań, które wykonuje wielu administrator systemu, takich jak:
- Zaktualizuj pliki konfiguracyjne / INI, aby zastąpić ścieżki UNC.
- Informacje o aktualizacji zbiorczej przechowywane w plikach INI na serwerze terminala / Citrix.
- Używaj w połączeniu ze skryptami do wdrażania "szablonowych" danych, a następnie stosuj wartości do kopiowanych plików.
Nasze rozwiązanie to VBScript, który współpracuje z funkcją Visual Basic Replace. Umieszczając ten skrypt w lokalizacji w zmiennej PATH systemu Windows, masz teraz dostęp do tej funkcji.
Używa
Po uruchomieniu systemu można wywołać skrypt za pomocą polecenia ReplaceText. Kilka przykładów pokaże sposoby na wykorzystanie tego:
Zastąp słowo "null" przez "n / a" w pliku C: DataValues.csv:
ReplaceText "C: DataValues.csv" null n / a
Zeskanuj wszystkie pliki INI w folderze C: Users (+ podkatalogi), zastępując wszystkie wystąpienia "Server = Old" za pomocą "Server = New", używając wyszukiwania niewrażliwego na wielkość liter:
FORFILES / P "C: Users" / M * .ini / S / C "Cmd / C ReplaceText @path Serwer = Stary serwer = Nowy / I"
Zeskanuj wszystkie pliki CFG w profilu bieżącego użytkownika, zastępując "p @ ssw0rd" przez "PA $$ woRd" za pomocą wyszukiwania uwzględniającego wielkość liter:
FORFILES / P "% UserProfile%" / M * .cfg / S / C "Cmd / C ReplaceText @path p @ ssw0rd PA $$ woRd"
Jak widać poniżej, skrypt jest bardzo prosty i można go łatwo zmodyfikować, aby uwzględnić wszelkie szczególne sytuacje, jakie możesz mieć. Alternatywnie możesz chcieć utworzyć kopie skryptu, które kodują poszczególne wartości, abyś mógł wykonać polecenie podwójnym kliknięciem i / lub pozwolić na łatwe rozpowszechnienie go innym.
Scenariusz
"Zamień tekst
"Napisane przez: Jason Faulkner
"SysadminGeek.com
"Ten skrypt powinien zostać umieszczony w folderze określonym w zmiennej PATH twojego systemu.
"Użycie (WScript):
"ReplaceText FileName OldText NewText [/ I]
'/ I (opcjonalnie) - W dopasowaniu tekstu nie jest rozróżniana wielkość liter
Ustaw oArgs = WScript.Arguments
intCaseSensitive = 0
Dla i = 3 do oArgs.Count-1
Jeśli UCase (oArgs (i)) = "/ I" Następnie intCaseSensitive = 1
Kolejny
Set oFSO = CreateObject ("Scripting.FileSystemObject")
Jeśli nie oFSO.FileExists (oArgs (0)) Następnie
WScript.Echo "Określony plik nie istnieje."
Jeszcze
Ustaw oFile = oFSO.OpenTextFile (oArgs (0), 1)
strText = oFile.ReadAll
oFile.Close
strText = Replace (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive)
Ustaw oFile = oFSO.OpenTextFile (oArgs (0), 2)
oFile.WriteLine strText
oFile.Close
Koniec, jeśli
Dodatkowe uwagi
Domyślnie system Windows używa języka WScript do wykonywania plików VBScript (VBS). Jedyny problem, jaki może to spowodować, to wszelkie błędy i / lub wiadomości ze skryptu będą wyświetlane jako okna podręczne. W przypadku narzędzia wiersza poleceń najlepiej jest wyświetlać te komunikaty w konsoli. Istnieje kilka sposobów na osiągnięcie tego celu.
Zmień domyślny moduł obsługi plików VBScript na CScript, uruchamiając to polecenie z wiersza polecenia (z prawami administratora):
CScript // H: CScript
Uruchom jawnie skrypt ReplaceText za pomocą polecenia CScript:
CScript "C: PathToReplaceText.vbs" // B Nazwa pliku OldText NewText [/ I]
W szczególnym przypadku wykonywanie ReplaceText ze skryptu wsadowego zazwyczaj wymaga użycia CScript jako silnika, niezależnie od domyślnej procedury obsługi. Na pewno będziesz chciał to przetestować przed skorzystaniem z tej funkcji.
Pobierz ReplaceText Script z SysadminGeek.com