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:
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.
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" przy użyciu 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ć w celu uwzględnienia wszelkich szczególnych sytuacji. Alternatywnie możesz chcieć utworzyć kopie skryptu, które kodują poszczególne wartości, dzięki czemu możesz wykonać polecenie za pomocą podwójnego kliknięcia i / lub pozwolić na łatwe rozpowszechnienie go dla innych.
"Zamień tekst "Ten skrypt powinien zostać umieszczony w folderze określonym w zmiennej PATH twojego systemu. "Użycie (WScript): '/ I (opcjonalnie) - W dopasowaniu tekstu nie jest rozróżniana wielkość liter Ustaw oArgs = WScript.Arguments intCaseSensitive = 0 Set oFSO = CreateObject ("Scripting.FileSystemObject") Jeśli nie oFSO.FileExists (oArgs (0)) Następnie strText = Replace (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive) Ustaw oFile = oFSO.OpenTextFile (oArgs (0), 2)
"Napisane przez: Jason Faulkner
"SysadminGeek.com
"ReplaceText FileName OldText NewText [/ I]
Dla i = 3 do oArgs.Count-1
Jeśli UCase (oArgs (i)) = "/ I" Następnie intCaseSensitive = 1
Kolejny
WScript.Echo "Określony plik nie istnieje."
Jeszcze
Ustaw oFile = oFSO.OpenTextFile (oArgs (0), 1)
strText = oFile.ReadAll
oFile.Close
oFile.WriteLine strText
oFile.Close
Koniec, jeśli
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. Można to osiągnąć na kilka sposobów.
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 wykonanie ReplaceText ze skryptu wsadowego zazwyczaj oznacza CScript jako używany silnik, niezależnie od domyślnej procedury obsługi. Na pewno będziesz chciał to przetestować przed użyciem tej funkcji.
Pobierz ReplaceText Script z SysadminGeek.com