/ / Jak napisać skrypt wsadowy w systemie Windows

Jak napisać skrypt wsadowy w systemie Windows

Czy wiesz, jak korzystać z wiersza polecenia? Jeśli tak, możesz napisać plik wsadowy. W najprostszej postaci plik wsadowy (lub skrypt wsadowy) to lista kilku poleceń, które są wykonywane po dwukrotnym kliknięciu pliku. Pliki wsadowe wracają do DOS, ale nadal działają na nowoczesnych wersjach systemu Windows.

Skrypty PowerShell i skrypty Bash mogą być bardziej wydajne, ale pliki wsadowe mogą być nadal przydatne, jeśli trzeba uruchamiać podstawowe polecenia systemu Windows.

Podstawy pliku wsadowego

Plik wsadowy to po prostu plik tekstowy zapisany w plikuRozszerzenie pliku .bat. Możesz napisać jeden za pomocą Notatnika lub bardziej zaawansowanego edytora tekstu, takiego jak Notepad ++, ale nie używaj edytora tekstu, takiego jak Microsoft Word.

Utwórzmy prosty plik wsadowy. Najpierw otwórz Notatnik. Wpisz w nią następujące linie:

ECHO OFF
ECHO Hello World
PAUSE

Następnie zapisz plik, klikając Plik> Zapisz. Nadaj mu dowolną nazwę, ale zastąp domyślne rozszerzenie pliku .txt rozszerzeniem .bat.

Na przykład możesz chcieć to nazwać hello_world.bat .

Masz teraz plik wsadowy z plikiem.rozszerzenie pliku bat. Kliknij dwukrotnie, aby go uruchomić. Ten konkretny plik wsadowy wyłącza ECHO (który oczyszcza dane wyjściowe, ukrywając polecenia przed wydrukowaniem w wierszu polecenia, drukuje tekst „Hello World” na ekranie, a następnie czeka na naciśnięcie klawisza przed jego zakończeniem.

Jeśli nie dodałeś PAUSE do pliku, plik wsadowy po prostu uruchomiłby swójpolecenia, a następnie automatycznie zamknij. W takim przypadku wydrukuje „Hello World” w oknie, a następnie natychmiast zamknie okno wiersza polecenia. Jeśli chcesz szybko uruchamiać polecenia bez wyświetlania danych wyjściowych, możesz to pominąć. Jeśli korzystasz z kilku poleceń, możesz umieścić PAUSE rozkazy między nimi.

Pisanie bardziej złożonego pliku wsadowego

Utworzenie pliku wsadowego jest zasadniczo proste. Jedyne, co musisz zmienić, to to, co wpisujesz w Notatniku. Aby uruchomić kilka poleceń, wpisz każde w osobnym wierszu, a plik wsadowy uruchomi każde po kolei.

Załóżmy na przykład, że chcemy napisać plik wsadowy, który uruchamia kilka poleceń diagnostyki sieci. Możemy chcieć uciec ipconfig /all aby wyświetlić informacje o sieci, ping google.com aby sprawdzić, czy serwery Google odpowiadają, i tracert google.com uruchomić traceroute na google.com i sprawdzić, czy po drodze są jakieś problemy.

W najbardziej podstawowej formie możemy po prostu umieścić wszystkie te polecenia w pliku wsadowym, jeden po drugim, w następujący sposób:

ipconfig /all
ping google.com
tracert google.com
PAUSE

Gdy uruchomimy ten plik, zobaczymy wynik każdego polecenia zaraz po drugim. Ale niekoniecznie jest to idealny sposób na zapisanie pliku wsadowego.

Na przykład możesz chcieć dodać wiersze komentarza. Dowolna linia rozpoczynająca się od :: to linia komentarza i nie zostanie wykonana. Dzięki temu są przydatnym sposobem wyjaśnienia, co dzieje się w pliku dla każdego, komu możesz go przekazać - lub dla przyszłego siebie, który może zapomnieć, dlaczego umieściłeś w nim określone polecenie.

Możesz także dodać polecenie „ECHO OFF”na początku pliku. Zazwyczaj jest to dodawane na początku większości plików wsadowych. Gdy to zrobisz, same polecenia nie zostaną wydrukowane w wierszu polecenia, ale wyniki będą. Na przykład zobaczysz szczegóły połączenia sieciowego, ale nie wiersz „ipconfig / all”. Większość ludzi nie dba o polecenia, więc może to wyczyścić dane wyjściowe.

Oto, jak może to wyglądać:

:: This batch file checks for network connection problems.
ECHO OFF
:: View network connection details
ipconfig /all
:: Check if Google.com is reachable
ping google.com
:: Run a traceroute to check the route to Google.com
tracert google.com
PAUSE

Istnieją inne kierunki, do których możesz się udaćplik wsadowy taki jak ten. Na przykład możesz chcieć, aby skrypt wsadowy uruchomił powyższe polecenia, a następnie zrzucił dane wyjściowe do pliku tekstowego, który można wyświetlić później. Aby to zrobić, skorzystasz z >> operator po każdym poleceniu, aby dołączyć dane wyjściowe do pliku tekstowego. Ponieważ i tak będziemy czytać dane wyjściowe z pliku tekstowego, możemy pominąć PAUSE Komenda.

:: This batch file checks for network connection problems
:: and saves the output to a .txt file.
ECHO OFF
:: View network connection details
ipconfig /all >>  results.txt
:: Check if Google.com is reachable
ping google.com >> results.txt
:: Run a traceroute to check the route to Google.com
tracert google.com >> results.txt

Po uruchomieniu powyższego skryptu znajdziesz pliko nazwie results.txt w tym samym folderze co plik wsadowy z danymi wyjściowymi poleceń. Okno wiersza polecenia zostanie automatycznie zamknięte po uruchomieniu pliku wsadowego.

Przykład, którego używamy powyżej, faktycznie się opieradrukowanie informacji w wierszu polecenia, aby użytkownik mógł je odczytać. Jednak wiele plików wsadowych zaprojektowano do uruchamiania bez interakcji. Na przykład możesz mieć plik wsadowy, który usuwa wiele plików lub katalogów za każdym razem, gdy go dwukrotnie klikniesz. Musisz po prostu użyć del polecenie usunięcia plików lub deltree polecenie usunięcia katalogów. Pamiętaj, że używasz tylko tych samych poleceń, które uruchamiałeś w oknie wiersza polecenia.

Zasadniczo to jest punkt większości partiipliki - wystarczy wykonać kilka poleceń jeden po drugim. Jednak pliki wsadowe mogą być znacznie bardziej złożone niż to. Na przykład możesz użyć instrukcji „JEŻELI” wraz z komendą „GOTO”, aby sprawdzić wartość czegoś, a następnie przejść do różnych wierszy w zależności od wyniku. To bardziej przypomina pisanie prawdziwego małego programu niż szybki i brudny skrypt. To jeden z powodów, dla których pliki .bat są czasami nazywane „programami wsadowymi”. Jeśli chcesz zrobić coś bardziej złożonego, znajdziesz mnóstwo poradników na temat robienia konkretnych rzeczy z programowaniem wsadowym online. Ale teraz znasz podstawy łączenia prostego.