Proste przetwarzanie stringów w skryptach cmd
Poniżej przedstawiam kolejny skrypt, jaki powstał pod wpływem posta na grupie dyskusyjnej. Ma on za zadanie pobrać każdą linijkę z pliku tekstowego i wyświetlić pierwszą literę z drugiego wyrazu i trzecią pierwszego.
Na początku wyłączamy pokazywanie poleceń aby zwiększyć czytelność. Następnie zostaje włączone opóźnione rozwijanie zmiennych dzięki czemu działają one normalnie - stają się widoczne efekty ich modyfikacji. Szerzej pisałem o tym
tutaj. Potem w pętli pobieramy pierwszy i drugi wyraz z każdej linijki pliku tekstowego. Na koniec pozostaje już tylko wyciągnięcie substringów za pomocą operatora tyldy oraz ich wyświetlenie.
@echo off
SetLocal EnableDelayedExpansion
for /F "tokens=1,2" %%i in (plik.txt) do (
set a=%%j
set aa=!a:~0,1!
echo !aa!
set b=%%i
set bb=!b:~2,1!
echo !bb!
)