Tworzenie skryptu bat w systemie operacyjnym Windows 10 jest możliwe za pomocą programu Notatnik. Skrypt bat umożliwia nam łączenie wielu poleceń konsoli. Tak utworzony skrypt możemy uruchomić podwójnym kliknięciem myszki lub za pomocą wiersza poleceń w systemie operacyjnym Windows (program cmd).
Należy pamiętać, aby zapisać plik z rozszerzeniem .bat, inaczej system operacyjny nie wykryje pliku wsadowego (rys. 1., rys. 2.). W notatniku wybieramy Plik>Zapisz jako... (ang. File>Save As…), następnie wprowadzamy nazwę pliku np. przykład1.bat i wybieramy w polu rozwijanym Zapisz jako typ (ang. Save as type), Wszystkie pliki (ang. All Files).
Rys. 1. Zapisywanie skryptów bat w programie Notatnik, krok 1/2
Rys. 2. Zapisywanie skryptów bat w programie Notatnik, krok 2/2
Uwaga!
Pliki wsadowe w systemie operacyjnym Windows 10 mają rozszerzenie .bat.
Dobrze zaprojektowany skrypt bat umożliwia nam zaoszczędzenie czasu, który w innym przypadku musielibyśmy poświęcić na wpisywanie tych samych poleceń wielokrotnie. Istnieje również możliwość uruchamiania skryptów bat automatycznie, za każdym razem przy logowaniu użytkownika.
Pliki wsadowe przykłady (przydatne skrypty bat):
Przykład 1. Wyświetlenie komunikatów w oknie wiersza poleceń (rys. 3.)
@echo off
:: Author Piotr Klimek
:: Komenda CLS usuwa zawartość ekrany
cls
:: Komenda ECHO umożliwia wyświetlenie na ekranie dowolnego tekstu
echo #------------------------------------------
echo Wyświetlono wszystkie pliki z katalogu w formacie PDF.
echo #------------------------------------------
:: Komenda PAUSE zatrzymuje wykonywanie programu w wierszu poleceń,
:: aby zakończyć działanie należy nacisnąć dowolny klawisz
pause
Rys. 3. Pliki wsadowe przykłady
Przykład 2. Ustawienie polskich znaków w wierszu poleceń (rys. 4.)
@echo off
:: Author Piotr Klimek
:: Komenda CLS usuwa zawartość ekrany
cls
:: Wyświetlamy numer aktywnej strony kodowej
chcp
:: Zmieniamy numer strony kodowej na 65001, obsługującą polskie znaki
chcp 65001 > nul
:: Wyświetlamy numer aktywnej strony kodowej po zmianie
chcp
:: Komenda PAUSE zatrzymuje wykonywanie programu w wierszu poleceń,
:: aby zakończyć działanie należy nacisnąć dowolny klawisz
pause
Rys. 4. Przydatne skrypty bat polskie znaki
Przykład 3. Usuwanie pliku lista.txt, jeśli istnieje w katalogu (rys. 5.)
@echo off
:: Author Piotr Klimek
:: Komenda CLS usuwa zawartość ekrany
cls
:: Za pomocą komendy IF sprawdzamy, czy plik istnieje.
:: Jeżeli istnieje, usuwamy plik za pomocą komendy DEL.
IF EXIST lista.txt DEL lista.txt
IF NOT EXIST lista.txt ECHO Plik nie istnieje!
:: Komenda PAUSE zatrzymuje wykonywanie programu w wierszu poleceń,
:: aby zakończyć działanie należy nacisnąć dowolny klawisz
pause
Rys. 5. Gotowe skrypty bat
Przykład 4. Pobieranie tylko nazw plików PDF z wybranego katalogu (rys. 6.)
@echo off
:: Author Piotr Klimek
:: Komenda CLS usuwa zawartość ekrany
cls
:: Wyświetlamy na ekranie za pomocą komendy DIR wszystkie pliki PDF umieszczone w wybranym katalogu,
:: za pomocą komendy FIND numerujemy listę plików.
DIR *.pdf /b | find /n ".pdf"
:: Komenda PAUSE zatrzymuje wykonywanie programu w wierszu poleceń,
:: aby zakończyć działanie należy nacisnąć dowolny klawisz
pause
Rys. 6. Pliki wsadowe przykłady
Przykład 5. Przekierowanie wyniku polecenia do własnego pliku lista.txt (rys. 7.)
@echo off
:: Author Piotr Klimek
:: Komenda CLS usuwa zawartość ekrany
cls
:: Za pomocą komendy FOR przekazujemy wyniki polecenia do pliku lista.txt.
:: Plik lista.txt będzie zawierał nazwy plików bez rozszerzeń.
:: Skrypt dopisuje dane wyjściowe do istniejących danych.
FOR /F "delims= eol=" %%A IN ('DIR *.pdf /b') DO (ECHO %%~nA >> lista.txt)
:: Komenda PAUSE zatrzymuje wykonywanie programu w wierszu poleceń,
:: aby zakończyć działanie należy nacisnąć dowolny klawisz
pause
Rys. 7. Skrypt bat zapisujący dane do pliku
Zaprezentowany skrypt bat dopisuje dane do zawartości pliku na końcu (rys.8.).
Rys. 8. Zawartość utworzonego pliku lista.txt
Przykład 6. Wyświetlenie listy wszystkich plików PDF z katalogu i zapisanie wyniku w pliku lista.txt (rys. 9.)
@echo off
:: Author Piotr Klimek
:: Komenda CLS usuwa zawartość ekrany
cls
:: Zmieniamy numer strony kodowej na 65001, obsługującą polskie znaki
chcp 65001 > nul
:: Komenda ECHO umożliwia wyświetlenie na ekranie dowolnego tekstu
echo #------------------------------------------
echo Wyświetlono wszystkie pliki z katalogu w formacie PDF.
echo #------------------------------------------
:: Za pomocą komendy IF sprawdzamy, czy plik istnieje.
:: Jeżeli istnieje, usuwamy plik za pomocą komendy DEL.
IF EXIST lista.txt DEL lista.txt
:: Wyświetlamy na ekranie za pomocą komendy DIR wszystkie pliki PDF umieszczone
:: w wybranym katalogu, za pomocą komendy FIND numerujemy listę plików.
DIR *.pdf /b | find /n ".pdf"
:: Za pomocą komendy FOR przekazujemy wyniki polecenia do pliku lista.txt.
:: Plik lista.txt będzie zawierał nazwy plików bez rozszerzeń.
:: Skrypt dopisuje dane wyjściowe do istniejących danych.
FOR /F "delims= eol=" %%A IN ('DIR *.pdf /b') DO (ECHO %%~nA >> lista.txt)
:: Komenda PAUSE zatrzymuje wykonywanie programu w wierszu poleceń,
:: aby zakończyć działanie należy nacisnąć dowolny klawisz
pause
Rys. 9. Rozbudowany skrypt bat (wszystkie przykłady w jednym pliku)
Zaprezentowany skrypt bat najpierw sprawdza, czy plik tekstowy istnieje, jeśli tak to go usuwa, dopiero potem tworzy plik i zapisuje wynik rozbudowanego skryptu bat w pliku lista.txt.
Rys. 10. Zawartość utworzonego pliku lista.txt
Gotowe skrypty bat zaprezentowane w przykładach, zawierają podstawowe informacje, które pozwolą zacząć przygodę z tworzeniem własnych rozbudowanych plików wsadowych. Przykłady zaprezentowane w artykule znajdziemy w pliku skrypty-bat-windows10.zip, zawartość katalogu przedstawiono na rysunku 11.
Rys. 11. Zawartość katalogu z przykładami – pliki wsadowe przykłady