If-Koubou

Zamień tekst na zwykłe pliki tekstowe z wiersza poleceń

Zamień tekst na zwykłe pliki tekstowe z wiersza poleceń (Jak)

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" 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.

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. 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