Jak pisać pliki bat. Jak zrobić plik bat

Osoby zaznajomione z terminem plik wsadowy wiedzą, że pliki BAT mogą znacznie ułatwić życie i zaoszczędzić czas, jeśli wiesz, jak je poprawnie pisać i używać. W tym artykule opowiem o tym, jak utworzyć pliki BAT i przedstawię typowe błędy, które zwykle pojawiają się podczas ich zapisywania.

Tworzenie pliku BAT jest bardzo proste. Wystarczy otworzyć Notatnik i zapisać pusty arkusz z rozszerzeniem .bat, wybrać opcję Zapisz jako... i w polu Nazwa pliku wpisać coś kończącego się na .bat, np. test.bat.
Określ typ pliku jak na zrzucie ekranu poniżej - Wszystkie pliki. Zapisz i odbierz plik BAT.

Możesz edytować plik BAT w Notatniku lub dowolnym innym edytorze tekstu nastawionym na pracę z kodem.

Przejdźmy teraz bezpośrednio do informacji praktycznych. Wiele osób w Internecie szuka odpowiedzi na pytanie: Jak sobie poradzić ze spacjami w plikach BAT? . W ścieżkach do folderów i plików wykonywalnych obecność spacji powoduje błąd. Najczęstszą odpowiedzią jest: Ujmij ścieżkę w cudzysłów. I ta odpowiedź nie jest poprawna. To prawda, niektórzy będą mieli pianę na ustach i będą twierdzić, że to działa. Pojawiły się więc dwa pytania „dlaczego” – dlaczego nie jest to prawdą i dlaczego niektórym tak się stanie.

W systemie Windows (jak również w systemie UNIX) programy zainstalowane w systemie są odpowiednio rejestrowane przez system. Dlatego część zainstalowanych programów można uruchomić jednym prostym poleceniem z pliku BAT lub z apletu Uruchom w panelu Start. Jednym z takich programów jest Firefox:

uruchom Firefoksa

Jeśli po tym poleceniu wpiszesz ścieżkę do pliku wykonywalnego, nastąpi co następuje: przeglądarka Firefox uruchomi się i spróbuje przetworzyć żądanie, czyli plik, którego ścieżka jest podana. Oznacza to, że jeśli określisz następujące elementy:

uruchom przeglądarkę Firefox C:\Program Files\Mozilla Firefox\firefox.exe

Przeglądarka otworzy się, niezależnie od tego, co wyświetli się po uruchomieniu Firefoksa. Dlatego niektórzy towarzysze zapewnią, że wszystko działa świetnie. Jeśli jednak weźmiesz program przenośny, sytuacja będzie zupełnie inna. Weźmy jako przykład klienta FTP Filezilla. Ponieważ system nie wie o programie, powyższa linia

uruchom filezillę

nie zadziała. Aby uruchomić program nieznany systemowi, należy podać ścieżkę do niego:

uruchom D:\FileZilla\FileZilla.exe

Długie nazwy w plikach nietoperzy

Porozmawiajmy teraz o ścieżkach i przestrzeniach. Pierwszym sposobem uniknięcia tego problemu jest użycie krótkiej nazwy.

uruchom C:\Program Files\Sound Club\scw.exe

W przykładzie są dwie nazwy ze spacjami. Zastąpmy je krótkimi. Zasady tworzenia krótkich nazw są następujące: w krótkiej nazwie wykorzystuje się sześć pierwszych znaków nazwy, z wyłączeniem spacji, po nazwie oznacza się numer seryjny folderu za pomocą symbolu ~ . Ponieważ moje foldery Program Files i Sound Club są pojedyncze, będzie to wyglądać następująco:

Pliki programów - Progra~1 Sound Club - SoundC~1 start C:\Progra~1 \SoundC~1 \scw.exe

Jeśli w pobliżu znajdują się dwa foldery, na przykład Sound Club i Sound Clown, to zgodnie z zasadami w powyższym przykładzie będziesz musiał określić SoundC~2, ponieważ w tym przypadku Sound Club będzie drugą nazwą (nazwy liczone są w kolejności alfabetycznej zamówienie).

Ale ta metoda jest niewygodna, ponieważ trzeba podać numery seryjne. Sytuacja z plikami programów jest mniej więcej normalna. Niewiele osób znajdzie dwa podobne foldery na dysku systemowym. Ale jeśli zdecydujesz się zainstalować na swoim komputerze wiele produktów Mozilli. Otrzymasz kilka folderów, na przykład:

Mozilla Firefox Mozilla Thunderbird Mozilla Sunbird

Będą dla nich krótkie nazwy

Mozill ~ 1 Mozill ~ 2 Mozill ~ 3

Teraz wyobraź sobie, że napisałeś plik BAT zawierający wzmiankę o tych programach. Jeśli odinstalujesz przeglądarkę Firefox, pozostałe wpisy przestaną działać, a jeśli odinstalujesz Thunderbirda, wpis dotyczący Sunbirda nie będzie już działać. Krótko mówiąc, metoda o krótkich nazwach nie jest w naszym stylu.

Spacje i cudzysłowy w plikach bat

Cytaty faktycznie działają, ale nie w sposób, który jest zwykle zalecany. Zazwyczaj zaleca się:

uruchom „C:\Program Files\Sound Club\scw.exe”

Zatem polecenie nie zadziała, bo jeśli zajrzysz do pomocy do niego (start /? ), to w pomocy zobaczysz, co następuje:

START ["nagłówek"] [polecenie/program] [parametry]

Jak widać, pierwszym parametrem jest tytuł okna, podany w cudzysłowie. Ten parametr jest opcjonalny, ale nadal zaleca się jego określenie (), aby uniknąć błędów podczas wykonywania polecenia. Nie musisz nic pisać w cudzysłowie. To się okaże tak:

start "" "C:\Program Files\Sound Club\scw.exe"

Opcja ujmowania wszystkich nazw ze spacjami oddzielnie w cudzysłowie również będzie działać:

uruchom C:\Program Files"\Sound Club"\scw.exe

Jednak w niektórych przypadkach żadne z powyższych nie działa. W takich przypadkach mogę polecić użycie polecenia cd. Przejdź na partycję systemową, następnie użyj cd do folderu Program Files i uruchom program (start):

%SystemDrive% cd \Program Files\Sound Club\start scw.exe

Myślę, że ta metoda sprawdzi się wszędzie. Teraz jeszcze kilka ważnych punktów. Załóżmy, że utworzyłeś plik wsadowy uruchamiający trzy programy i musisz tymczasowo wykluczyć uruchomienie jednego z nich. Można to zrobić, usuwając linię lub komentując ją. Pierwsza metoda jest wandalizmu, a druga, patrz poniżej.

uruchom przeglądarkę Firefox, uruchom jetaudio rem, uruchom defraglator

W takim przypadku uruchomienie programu Defraggler.exe zainstalowanego w systemie jest wyłączone. Skomentuj linie, podając polecenie rem na początku linii. Wszystkie pliki BAT są wykonywane w oknie konsoli. Aby zniknął po zakończeniu poleceń, nie zapomnij napisać na końcu polecenia wyjścia.

uruchom przeglądarkę Firefox, uruchom jetaudio rem, rozpocznij defragler, wyjdź

Uruchamianie aplikacji z pliku bat

W pierwszej części artykułu mówiłem ogólnie o plikach BAT. Teraz stało się jasne, co to jest i z czym jest spożywane. W drugiej części porozmawiamy o bardziej szczegółowych kwestiach. Na przykład, jak za pomocą pliku BAT uruchomić kilka aplikacji z określonymi ustawieniami lub zainstalować program automatycznie, aby nie tracić czasu na odpowiedzi typu Czy zgadzasz się z warunkami umowy licencyjnej? i nie naciskaj niepotrzebnych przycisków.

Powyżej omówiono kilka sposobów uruchamiania aplikacji przy użyciu pliku BAT. Pierwsza z nich to krótka komenda uruchamiająca zainstalowany w systemie program.

uruchom Firefoksa

To nie zawsze działa. Zatem technikę tę można w pełni zastosować w konkretnym systemie, jednak nie nadaje się ona jako rozwiązanie uniwersalne. Jeśli Twoim celem jest, aby plik BAT działał wszędzie i zawsze, musisz użyć pełnych ścieżek:

uruchom C:\Program Files"\Mozilla Firefox"\firefox.exe

Zauważyłem również, że plik BAT musi zawierać polecenie do wykonania:

start C:\Program Files"\Mozilla Firefox"\firefox.exe wyjście

Uruchamianie programów w plikach bat z parametrami (kluczami)

Możesz nie tylko uruchomić program, ale także wydać mu dodatkowe polecenia podczas jego uruchamiania. Na przykład polecenie uruchomienia zminimalizowanego:

start /min D:\FileZilla\FileZilla.exe zakończ

Polecenie w tym przypadku oznacza wskazanie klucza. Klawisz jest oznaczony ukośnikiem po głównym poleceniu (polecenie / klawisz). Głównym poleceniem w tym przypadku jest start . To prawda, że ​​​​klawisz min działa tylko w połowie przypadków, ponieważ odnosi się konkretnie do polecenia start, a nie do programów uruchamianych tym poleceniem.

Ogólnie rzecz biorąc, istnieje wiele kluczy, a zestawy kluczy dla różnych programów mogą się znacznie różnić. Istnieje jednak kilka typowych. Na przykład klawisz pomocy (/? lub /help). Aby zobaczyć, jak działa ten klucz, spójrzmy na praktyczny przykład. Otwórz konsolę (kliknij + R, wpisz cmd, następnie Enter) i wpisz w konsoli:

początek /?

Konsola wyświetli listę prawidłowych kluczy z komentarzami do polecenia start.

Zwróć uwagę na przełącznik /wait. W niektórych przypadkach jest po prostu niezastąpiony. Na przykład zdecydowałeś się użyć pliku BAT do rozpakowania archiwum z programem i uruchomienia tego właśnie programu. Plik wsadowy będzie zawierał dwa polecenia - do rozpakowania i uruchomienia. Ponieważ polecenia zostaną wykonane niemal jednocześnie podczas uruchamiania pliku BAT, archiwum nie będzie miało czasu na rozpakowanie i nie będzie co uruchamiać. Dlatego wystąpi błąd. W tym przypadku klucz przyjdzie na ratunek /Czekać:

Tym samym system najpierw wykona pierwszą akcję, poczeka na jej zakończenie i dopiero wtedy przejdzie do drugiej. Jeśli musisz poczekać określony czas, łatwiej jest skorzystać z narzędzia konsolowego. W odpowiednim miejscu pliku BAT napisz następującą komendę (liczba to liczba sekund):

uruchom Sleep.exe 15

Za pomocą kluczy można wiele zrobić. Istnieje możliwość instalacji aplikacji. W tym celu używanych jest kilka kluczy w zależności od rodzaju instalatora użytego do zainstalowania programu na komputerze:

/S /s /q /silent i wiele innych

W niektórych przypadkach może to być bardzo wygodne. Program antywirusowy Avast ma opcję cichej instalacji w wersji korporacyjnej. Wersja bezpłatna (domowa) podobno nie ma cichej instalacji. Jeśli jednak wiesz, jak działa instalator InstallShield, zrozumiesz, że jest to bzdura, ponieważ ten instalator sam obsługuje przełącznik instalacji cichej /S. Oznacza to, że wszystkie produkty wykonane na jego bazie robią to samo. Avast nie jest wyjątkiem. Po prostu utwórz plik z zawartością w folderze z BAT-em Avasta

uruchom avast.exe /S zakończ

uruchamiasz go, a program jest instalowany na Twoim komputerze praktycznie bez Twojego udziału. W ten sposób możesz napisać całą listę programów do cichej instalacji i zaoszczędzić czas, na przykład na ponownej instalacji systemu. W artykule można uzyskać bardziej szczegółowe informacje na temat kluczy.

Istnieją inne opcje zarządzania programami przy użyciu plików BAT. Możesz uruchomić program, nakazując mu otwarcie pliku podczas uruchamiania. Używam tej metody podczas tworzenia stron internetowych. Jest to bardzo wygodne, gdy cały zestaw narzędzi otwiera niezbędne dokumenty i foldery jednym kliknięciem:

rem połączenie z serwerem FTP start /min D:\FileZilla\FileZilla.exe "ftp://login:hasło@serwer" rem otwierając plik Index.php w przeglądarce Firefox uruchom C:\program files"\mozilla firefox"\firefox.exe "http://localhost/site_folder/index.php" rem otwierając start.html w edytorze tekstu start /min C:\"Program Files"\text_editor.exe "E:\serwer\folder_witryny\index.html" rem otwierając folder z plikami witryny start /min E:\serwer\folder_witryny rem wyjście z konsoli Wyjście

Zwracam uwagę, że wszystkie techniki opisane powyżej można stosować w różnych kombinacjach i kombinacjach.

start /min /wait program.exe /m /S start C:\Directory\program2.exe "C:\Files\file.odt" wyjście

Należy jednak pamiętać: wszystko, co dotyczy wykonania programu uruchomionego w pliku wsadowym, jest zapisywane z nim w tej samej linii.

uruchom C:\program files"\mozilla firefox"\firefox.exe "http://localhost/site_folder/index.php"

Jako epilog oddaję do Waszej recenzji konwerter plików BAT na aplikacje w formacie .exe - . Plik BAT nie zawsze jest estetyczny, ale za pomocą konwertera możesz spakować plik wsadowy do pliku exe, dekorując go dowolną wybraną ikoną.

Natknąłem się na inny konwerter BAT na EXE, możesz go potraktować jako alternatywę dla poprzedniego programu: Advanced Bat To Exe Converter

W tym artykule przyjrzymy się tak przydatnej rzeczy, jak „ plik wsadowy" Najpierw zdefiniujmy, czym jest plik bat. Pliki wsadowe lub wsadowe to proste pliki tekstowe zawierające zestawy poleceń ( instrukcje) interpreter i posiadający rozszerzenie bat lub cmd ( cmd działa tylko w systemach z rodziny NT). Możesz tworzyć i edytować takie pliki za pomocą zwykłego notatnika lub dowolnego innego edytora tekstu.

Teraz możesz zapytać, dlaczego musisz mieć możliwość pisania takich plików nietoperza? Dlaczego są potrzebne? Spróbuję wyjaśnić.

Po pierwsze, służą one ułatwieniu pracy, tj. na przykład musisz stale wykonywać jakąś operację każdego dnia ( na przykład utwórz archiwum określonych dokumentów), za pomocą pliku treści, można to zautomatyzować i nie będziesz już w tym uczestniczyć.

Po drugie, te pliki wsadowe są bardzo potężne ( jeśli oczywiście wiesz, jak je napisać), tj. Możesz nawet napisać dobry program ( Mam na myśli funkcjonalność). Osobiście bardzo mi pomagają w pracy, a o niektórych rzeczach po prostu zapomniałem robiąc to ręcznie.

Przejdźmy teraz bezpośrednio do podstaw tych plików wsadowych. Jak powstają?Wystarczy stworzyć prosty dokument tekstowy, otworzyć go i od razu przejść do zakładki „ Plik->zapisz jako", wpisz zamiast rozszerzenia " Dokument tekstowy.txt", Na przykład " Dokument tekstowy.bat" i zapisz, więc otrzymamy plik wsadowy z rozszerzeniem .bat, ale to jeszcze nic nie robi.

Na początek podam przykład pliku wsadowego, którego używam w swojej pracy do archiwizacji dokumentów.

"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc "C:\Program Files\WinRAR\winrar. exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY -mm-dd E:\arhaccounts\ d:\accounts\*.txt

Teraz opowiem Ci trochę o tym, co robi ten plik wsadowy. Uruchamia się WinRar, następnie pojawiają się polecenia WinRar:

  • a - to jest dodanie do archiwum;
  • -r - podfoldery procesów;
  • -dh – otwiera udostępnione pliki;
  • -ed – nie dodawaj pustych folderów;
  • RRRR-mm-dd - dodaj aktualną datę do nazwy archiwum ( format daty);
  • E:\arhaccounts\ - ścieżka, w której będzie zlokalizowane ostateczne archiwum;
  • d:\accounts\*.doc - ścieżka i maska ​​plików wymagających archiwizacji.

W tym przypadku archiwizujemy wszystkie pliki Word, Excel i tekstowe, reszty nie musimy archiwizować. Nasza archiwizacja trafia na inny dysk, a powstałe archiwum kopiujemy także na inny komputer, dzięki czemu archiwa są przechowywane w innym biurze. Kopiowanie odbywa się poprzez sieć, dlatego komputer, na który kopiowane jest archiwum, musi być włączony. Aby to zrobić, możesz użyć następującego polecenia:

Skopiuj E:\arhaccounts\*.rar \\namecomp\arhiv\

Przykłady poleceń dla plików bat

Przyjrzyjmy się teraz podstawowym poleceniom, których możesz użyć.

Jeżeli chcesz usunąć plik, napisz co następuje:

Usuń d:\plik\test.doc


Aby usunąć cały katalog napisz:

Rd d:\plik\

Jeśli za każdym razem musisz usunąć wszystko z jakiegoś katalogu, użyj tego:

Echo Y| del d:\plik\

  • del d:\file\ - to jest dokładnie usunięcie wszystkich plików;
  • echo Y| - polecenie potwierdza usunięcie, ponieważ Jeśli nie wpiszesz tego polecenia, pojawi się komunikat potwierdzający usunięcie - „Kontynuuj” i za każdym razem będziesz musiał odpowiedzieć na to pytanie.

Spójrzmy teraz na bardziej skomplikowany przykład, w którym warunek jest już spełniony:

@echo off "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\test.rar d:\test JEŚLI nie ISTNIEJE d:\test\123.rar GOTO 1 JEŚLI ISTNIEJE d: \test\123.rar GOTO 2:2 "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\123.rar c:\ del d:\test\123.rar:1 del d:\test\test.rar koniec

Teraz wyjaśnię, powiedzmy, że musisz rozpakować archiwum test.rar, które będzie zawierać wiele plików, ale jeśli jest tam plik 123.rar, trzeba będzie go rozpakować do katalogu głównego dysku C, a reszta plików pozostanie nietknięta w tym samym katalogu.

W tym celu potrzebne jest polecenie @echo off, aby nic nie odbijało się na ekranie ( w zasadzie, jeśli nie musisz, możesz pominąć pisanie tej linii). Następnie uruchamiamy Winrar i rozpakowujemy archiwum test.rar do folderu test. Następnie pojawia się warunek if w folderze testowym ( po rozpakowaniu test.rar) nie mamy pliku 123.rar, to po prostu wykonujemy plik wsadowy i przechodzimy do linii: 1, a następnie po prostu usuwamy plik test.rar, ponieważ nie jest to konieczne, ponieważ Rozpakowaliśmy już wszystko, czego potrzebujemy. Jeżeli jednak jest tam plik 123.rar to wykonanie pliku wsadowego przechodzi do linii: 2, po czym plik 123.rar jest już rozpakowywany do katalogu głównego dysku C. Innymi słowy mamy warunek spełniony , jeśli jest plik, zrób to, jeśli nie ma pliku, zrób to. Powiedzmy, że jeśli nie określimy warunku w tym przykładzie, nasz plik wsadowy zwróci błąd, gdy nie będziemy mieć pliku 123.rar w tym folderze.

Teraz spójrzmy na ten przykład, powiedzmy, że za każdym razem musisz przenieść pliki z katalogu znajdującego się na dysku D na dysk flash. Za każdym razem, gdy będziesz musiał udać się na dysk D mojego komputera, wybrać żądany folder, wybrać z niego wszystkie pliki i wyciąć je, a następnie po prostu przejść do dysku flash i wkleić go. Za pomocą pliku treści można to zrobić jednym kliknięciem ( z jednym warunkiem, że za każdym razem pendrive'em będzie np. dysk G czy cokolwiek tam masz). Oto przykład takiego pliku wsadowego:

Przenieś „D:\catalog\*.doc” G:\catalognaflehe\

Natomiast wszystkie pliki z rozszerzeniem doc znajdujące się w katalogu D:\catalog zostaną przeniesione na pendrive. Teraz chcę powiedzieć, że możesz używać skryptów w plikach wsadowych ( skrypty) za pomocą Hosta skryptów systemu Windows i w razie potrzeby np. wyświetlić komunikat po skopiowaniu plików ( poprzedni przykład) wklej to:

Echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js echo WSHShell.Popup("Pliki skopiowane"); >> %temp%\mes.js start %temp%\mes.js deltree /y %temp%\mes.js

Tak naprawdę o pisaniu plików wsadowych można mówić dużo i oczywiście nie da się tego zmieścić w jednym artykule, tutaj pokazałem jedynie zasady, jakie obowiązują przy pisaniu plików bat, czyli, że tak powiem, podstawę. Jeśli chcesz poznać więcej poleceń do pisania plików wsadowych, możesz łatwo je wyświetlić, wpisując ( Start - Uruchom - cmd) polecenie pomocy, ale oczywiście nie ma wszystkich poleceń, których można używać w plikach wsadowych. Powodzenia w pisaniu plików BAT ( koszulki do ciała).

Kontynuacja tematu w artykule -

Korzystanie z plików bat (znanych również jako „plik bat” lub „plik wsadowy”) często może ułatwić pracę, na przykład zautomatyzować instalację oprogramowania zgodnie z predefiniowanymi parametrami; synchronizacja daty i czasu; uruchamianie sekwencji poleceń itp. Aby jednak korzystać z takich skryptów, trzeba umieć je utworzyć. W istocie pliki z rozszerzeniem .bat to zestaw poleceń konsoli, takich samych jak te używane w wierszu poleceń.

W artykule omówiono trzy metody tworzenia plików .bat:

  1. Korzystanie z wiersza poleceń.
  2. Korzystanie z programu Notatnik.
  3. Korzystanie z narzędzia „Dr.Batcher”.

Krok 1. Aby uruchomić wiersz poleceń w menu „Start”, należy skorzystać z okna dialogowego „Wyszukaj programy i pliki”. Należy ustawić parametr wyszukiwania cmd i kliknąć lewym przyciskiem myszy ikonę w sekcji „Programy”.

Krok 2. Zaleca się użycie osobnego katalogu do przechowywania zapisanych plików wsadowych, dlatego należy wybrać lokalizację na dysku twardym i utworzyć specjalny folder wpisując polecenie „MD D:\Bat”.

Notatka! Polecenie wprowadza się bez cudzysłowu, spację dodaje się dopiero po użyciulekarz medycyny W tym przypadku folder o nazwie « Nietoperz"zostanie utworzony na dyskuD. W wierszu poleceń nie jest uwzględniana wielkość liter, co oznacza wynik wykonania polecenia „MDD:\Nietoperz", "mdD:\Nietoperz” i „mdD:\Bat” będzie taki sam.

Krok 3. Utwórz właściwy plik wsadowy za pomocą polecenia „@echo off > D:\Bat\probnik.bat”.

Notatka! W tym przypadku wielkość liter ma znaczenie przy określaniu ścieżki umieszczenia, czyli folderu „nietoperz", "Nietoperz” i „BAT” – trzy niezależne i zupełnie różne katalogi. Jeśli wskażesz nieistniejący folder, polecenie nie zostanie wykonane. Należy pamiętać, że nie pojawi się również żaden komunikat o błędzie.

Krok 4. Aby zmienić zawartość pliku, otwórz lokalizację, w której jest on przechowywany, wywołaj menu kontekstowe i wybierz linię „Zmień”.

Utwórz plik wsadowy za pomocą Notatnika

Krok 1. Aby uruchomić notatnik, przejdź do menu „Wszystkie programy”, wybierz „Akcesoria” i kliknij ikonę uruchamiania.

Krok 2.

Dowiedz się, jak utworzyć plik bez dużej wiedzy programistycznej z nowego artykułu -

Jako przykład sugerujemy użycie następującego kodu, który wyświetla obraz gwiazdy:

« @echo wyłączone

tryb con cols=32 linie=50

tytułowa gwiazda!

dla %%i w (

88888888888888881888888888888888,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,

) wykonaj echo %%i

pauza > zero

Uwaga! Kod należy wpisać bez cudzysłowów. Zawsze sprawdzaj składnię polecenia. Jeśli zapomnisz postawić przecinek na końcu wiersza, to po uruchomieniu program połączy się z następnym.

Krok 3. Zapisz powstały plik w żądanym katalogu. Aby zmienić rozdzielczość należy skorzystać z linii „Typ pliku”, wybrać w niej „Wszystkie pliki”, a przy wpisywaniu nazwy po kropce wskazać „bat”.

Tworzenie pliku wsadowego przy użyciu „Dr.Dozownik”

Określone oprogramowanie jest płatne, ale zapewnia możliwość korzystania z wersji testowej przez 30 dni.

Krok 1. Aby utworzyć plik, użyj menu „Plik”, opcji „Nowy...” lub kombinacji klawiszy „Ctrl+N”.

Krok 2. W oknie dialogowym zaznacz „Opróżnij plik wsadowy” i kliknij „OK”.

Krok 3. Określ, które polecenia ma wykonać plik bat.

Notatka! Prawa ramka zawiera kluczowe polecenia, których można używać podczas pisania kodu. Po prostu wybierz ten, który chcesz i kliknij „WstawićCommand”, co pomaga zaoszczędzić czas podczas pracy.

Krok 4. Zapisz powstały plik w żądanym katalogu.

Ważny! Należy pamiętać, że to narzędzie umożliwia debugowanie programu w locie. Wystarczy skorzystać z menu”Batch”, aby rozpocząć już wprowadzoną sekwencję. Postęp jest pokazany w dolnej ramce. Podczas korzystania z przedmiotu „WykonaćWZewnętrznyWindow...” wykona plik wsadowy, podobnie jak uruchomienie go za pomocą systemu operacyjnego.

Wniosek

Opisaliśmy trzy sposoby tworzenia plików z rozszerzeniem .bat. Dwie z wymienionych metod są metodami standardowymi dostępnymi w systemie Windows, jedna wymaga instalacji dodatkowego oprogramowania. Ocenę każdej metody przedstawiono w tabeli zbiorczej.

Informacje\NazwaWiersz poleceńZeszytDoktor Batcher
LicencjaDostarczany z systemem WindowsDostarczany z systemem WindowsPłatny
Język rosyjskiW zależności od wersji systemu WindowsW zależności od wersji
Tworzenie pliku wsadowegoTakTakTak
Edycja pliku wsadowegoNIETakTak
Wygoda interfejsu (od 1 do 5)4 4 5

Wideo — tworzenie pliku nietoperza

Pliki wsadowe lub wsadowe to zwykłe pliki tekstowe zawierające zestawy poleceń interpretera i posiadające rozszerzenie bat lub cmd (cmd działa tylko w systemach operacyjnych z rodziny NT). Możesz edytować takie pliki za pomocą notatnika lub dowolnego innego edytora tekstu.

Otwórz notatnik i wpisz następujące dwie linie:

@echo Ten plik wsadowy
@pauza

Ten plik wsadowy
Naciśnij dowolny klawisz, aby kontynuować...

Po naciśnięciu dowolnego klawisza okno się zamknie, bo plik bat jest gotowy.
Należy pamiętać, że symbol psa przed każdą komendą w pliku bat oznacza, że ​​sama komenda nie musi być wyświetlana na ekranie, a jedynie wynik jej działania. Aby poeksperymentować, usuń postać psa z początku każdej linii, zapisz i uruchom powstały plik nietoperza.

Polecenia używane w plikach bat

Listę poleceń, których można użyć w plikach bat, można wyświetlić wpisując polecenie w wierszu poleceń (Start - Uruchom - cmd dla rodziny Windows NT lub Start - Uruchom - polecenie dla wiersza 9x)

Wynikiem pomocy jest lista dostępnych poleceń wraz z krótkim objaśnieniem do nich. Aby uzyskać bardziej szczegółowe informacje na temat interesującego Cię polecenia, wpisz w wierszu poleceń pomoc nazwa_polecenia. Na przykład, aby uzyskać szczegółową pomoc dotyczącą przełączników poleceń AT, uruchom następującą komendę:

W rezultacie na ekranie zostanie wyświetlona lista kluczy do uruchomienia polecenia AT z pliku bat.
Jeśli plik bat jest wykonywany w systemie Windows (nie w czystym DOS-ie), możesz uruchamiać z niego dowolne aplikacje lub otwierać pliki. Na przykład musisz automatycznie otworzyć plik dziennika pliku bat po zakończeniu pracy. Aby to zrobić, po prostu umieść następującą komendę w pliku bat jako ostatnią linię:

uruchom nazwapliku.txt

Efektem wykonania tego polecenia będzie otwarcie pliku nazwa_pliku.txt, a sam plik bat zakończy swoją pracę. Ta metoda jest dobra, jeśli plik dziennika jest mały, w przeciwnym razie Notatnik odmówi jego otwarcia, sugerując użycie programu WordPad. Ale ten problem można również rozwiązać, co zostanie pokazane w dalszych przykładach.

Jak zautomatyzować uruchamianie plików bat

Bardzo często konieczne jest zautomatyzowanie uruchamiania plików bat w celu wykonania rutynowych operacji. Aby uruchamiać pliki bat zgodnie z harmonogramem, najbardziej odpowiedni jest harmonogram zawarty w standardowym pakiecie systemu Windows. Za pomocą tej pomocy można bardzo elastycznie skonfigurować uruchamianie pliku wsadowego w określonych dniach lub godzinach, z określonym interwałem. Można utworzyć wiele harmonogramów itp.

Aby lokalnie uruchamiać pliki wsadowe, można skorzystać z rozwiązań firm trzecich; na szczęście istnieje wiele płatnych i bezpłatnych alternatyw dla standardowego Harmonogramu.

Pliki wsadowe mogą być również używane jako skrypty logowania w domenach. Użyte w ten sposób będą wykonywane za każdym razem, gdy użytkownik zaloguje się do sieci, niezależnie od jego woli. Za ich pomocą można zautomatyzować zbieranie informacji o maszynach lub oprogramowaniu zainstalowanym na komputerach użytkowników, wymusić zmianę ustawień systemu Windows, zainstalować oprogramowanie bez wiedzy użytkownika i zautomatyzować rozwiązywanie innych zadań, których ręczne wykonanie zajęłoby dużo czasu.

Jak utworzyć plik o dowolnej nazwie z pliku bat

Symbol przekierowania służy do tworzenia pliku podczas działania pliku wsadowego. To wygląda tak:
>
Te. aby utworzyć plik należy przekierować strumień z ekranu do pliku. Można to zrobić za pomocą następującego polecenia:

@echo Plik startowy>C:\1.txt

Po wykonaniu tego polecenia w katalogu głównym dysku C zostanie utworzony plik tekstowy z linią Plik startowy.
Tworząc plik, możesz w jego nazwie użyć zmiennych systemowych lub ich części. Można na przykład utworzyć plik raportu o działaniu pliku bat o nazwie odpowiadającej dacie uruchomienia pliku bat. Aby to zrobić, możesz użyć następujących wierszy w pliku bat.

ustaw datetemp=%data:~-10%
@echo .>%SYSTEMDRIVE%\%DATETEMP%.txt

Te dwie linie działają w ten sposób. Najpierw tworzymy w pamięci zmienną datetemp, do której przypisujemy 10 znaków od prawej do lewej strony zmiennej systemowej DATE. Zatem teraz zmienna tymczasowa datetemp zawiera tylko bieżącą datę. W kolejnej linii przekierowujemy wyjście symbolu kropki do pliku, którego nazwa jest pobierana ze zmiennej datetemp i jawnie określone jest rozszerzenie txt. Plik zostanie utworzony na dysku systemowym komputera, na którym wykonywany jest plik bat.

Gdy administrator zbiera informacje o komputerach w sieci, wygodniej będzie dodać nazwę komputera do nazwy pliku. Można to łatwo zrobić za pomocą następującego polecenia:

@echo .>C:\NazwaFolderu\%NAZWA KOMPUTERA%.txt

To polecenie podczas wykonywania pliku wsadowego utworzy na dysku C plik tekstowy z nazwą komputera, na którym uruchomiony jest plik wsadowy.
Aby utworzyć plik o określonej nazwie, możesz użyć dowolnych zmiennych systemowych lub utworzyć własny w oparciu o zmienne systemowe i/lub inne dane.

Jak utworzyć folder z pliku bat

Aby utworzyć folder, użyj polecenia MKDIR lub jego skróconego odpowiednika MD. Aby utworzyć folder z pliku bat, musisz użyć następującego polecenia:

Po wykonaniu tego polecenia w folderze, z którego został uruchomiony plik bat, zostanie utworzony folder FolderName. Aby utworzyć plik w innej lokalizacji niż ta, w której uruchomiłeś plik bat, na przykład w katalogu głównym dysku D, użyj wyraźnego wskazania lokalizacji nowego folderu. Polecenie będzie wyglądać następująco:

MD D:\NazwaFolderu

Podczas tworzenia folderów możesz używać zmiennych systemowych. Na przykład możesz utworzyć folder w katalogu głównym dysku D z nazwą bieżącego użytkownika. Aby to zrobić, będziesz potrzebować zmiennej %USERNAME%, a polecenie będzie wyglądać następująco:

MD D:\%NAZWA UŻYTKOWNIKA%

Możesz jeszcze bardziej skomplikować polecenie i utworzyć folder z nazwą bieżącego użytkownika na dysku systemowym jego komputera. Polecenie to wyglądałoby następująco:

MD %SYSTEMDRIVE%\%NAZWA UŻYTKOWNIKA%

Tworząc foldery lub pliki, możesz używać dowolnych zmiennych systemowych lub ich części. Poniższy przykład ilustruje utworzenie folderu na dysku systemowym komputera użytkownika o nazwie równej bieżącej dacie.

ustaw datetemp=%data:~-10%
MD %SYSTEMDRIVE%\%datetemp%

Ten projekt działa w następujący sposób.
Pierwsze polecenie tworzy w pamięci zmienną datetemp, która zostanie zniszczona po zakończeniu działania pliku bat. Dopóki plik bat nie zakończy swojej pracy, można operować wartością tej zmiennej. Zmiennej datetemp przypisano 10 znaków od prawej do lewej strony zmiennej systemowej DATE, tj. od aktualnej daty. Zmienna DATE ma format Dzień DD.MM.RRRR. Pierwsze znaki po lewej stronie to nazwa dnia tygodnia, więc je odrzucamy i do zmiennej tymczasowej datetemp przypisujemy tylko aktualną datę.
Nie ogranicza to listy możliwości podczas tworzenia folderów. Możesz dowolnie manipulować zmiennymi, tworząc foldery o unikalnych, łatwych do odczytania nazwach. Listę wszystkich zmiennych można uzyskać za pomocą polecenia SET.

Jak przekierować wynik wykonania polecenia do pliku

Często podczas wykonywania złożonego pliku bat w trybie automatycznym sprawdzenie wyników jego pracy może być trudne z wielu powodów. Dlatego łatwiej jest zapisać wyniki poleceń pliku wsadowego do pliku tekstowego (pliku dziennika). a następnie przeanalizuj poprawność działania pliku bat przy użyciu tego dziennika.
Przekierowanie wyniku poleceń pliku bat do pliku dziennika jest dość proste. Poniżej pokażemy, jak można to zrobić.
Utwórz plik bat o następującej zawartości (skopiuj te linie do Notatnika i zapisz plik z rozszerzeniem bat):

@echo wyłączone
echo Rozpocznij %czas%
echo Utwórz plik testowy.txt
echo test>C:\test.txt
echo Skopiuj plik Test.txt do pliku Old_test.txt
skopiuj C:\test.txt C:\Old_test.txt
echo Zatrzymaj %czas%

Pierwsza linia wyłącza wyjście samych poleceń. Tym samym do pliku dziennika zostaną zapisane jedynie wyniki ich wykonania.
Druga linia zapisuje do pliku dziennika czas rozpoczęcia pliku wsadowego.
Trzecia linia zapisuje do pliku dziennika wyjaśnienie, że poniższe polecenie utworzy plik test.txt
Polecenie z czwartej linii tworzy plik test.txt z katalogu głównego dysku C. Plik jest tworzony np. To polecenie zapisuje słowo test do pliku C:\test.txt
Piąta linia drukuje do pliku dziennika wyjaśnienie, że następujące polecenie kopiuje plik z jednej lokalizacji do drugiej.
Polecenie z szóstej linii kopiuje utworzony plik C:\test.txt do pliku C:\Old_test.txt, czyli: tworzona jest kopia pliku pod nową nazwą.
Ostatnia, siódma linia zawiera polecenie umożliwiające wyświetlenie czasu zakończenia pliku wsadowego. Razem z zapisem czasu rozpoczęcia pliku wsadowego w pliku dziennika, te dwie wartości czasu umożliwiają oszacowanie czasu działania pliku wsadowego.

Zapisz ten plik wsadowy pod nazwą np. 1.bat
Załóżmy, że chcemy przechowywać raport z działania pliku wsadowego w osobnym folderze i codziennie pisać raport z nową nazwą pliku, abyśmy mogli w dowolnym dniu uzyskać dostęp do logów z poprzednich dni. Ponadto chciałbym mieć nazwę pliku logu w postaci daty działania pliku wsadowego. Aby to wszystko zaimplementować utwórzmy na dysku C folder (na przykład) o nazwie LOG, tj. pełna ścieżka do niego będzie wyglądać jak C:\LOG. Uruchomimy utworzony plik wsadowy 1.bat za pomocą następującego polecenia:

1.bat>C:\LOG\%data~-10%.txt

Jeśli plik wsadowy zostanie uruchomiony z Harmonogramu, należy podać pełną ścieżkę do pliku bat. Pamiętaj, że jeśli w ścieżce znajdują się spacje, musisz użyć cudzysłowu lub formatu 8.3. Oznacza to, że jeśli ścieżka do pliku bat to na przykład C:\Program Files\1.bat, to w wierszu poleceń programu planującego, aby uruchomić plik bat, należy podać jeden z następujących wierszy:

„C:\Program Files\1.bat”>C:\LOG\%date~-10%.txt
C:\Progra~1\1.bat>C:\LOG\%data~-10%.txt

Po uruchomieniu pliku 1.bat w folderze C:\LOG zostanie utworzony plik o nazwie równej dacie uruchomienia pliku bat, np. 13.01.2004.txt. Będzie to raport o działanie pliku wsadowego 1.bat
Uruchomienie pliku bat, którego przykład pokazano w pierwszym wpisie na górze strony, za pomocą powyższego polecenia, spowoduje utworzenie pliku dziennika o następującej zawartości:

Rozpocznij o 19:03:27.20
Utwórz plik testowy.txt
Skopiuj plik Test.txt do pliku Old_test.txt
Skopiowane pliki: 1.
Przystanek 19:03:27.21

Zatem, aby przekierować wyniki pliku bat do pliku dziennika, należy użyć symbolu przekierowania > Składnia jest następująca:

Ścieżka\NazwaPliku.bat>Ścieżka\NazwaPliku Logu.txt

Rozszerzenie pliku dziennika może być dowolne. W razie potrzeby raport z wykonania zadania wsadowego można nawet sformatować jako stronę HTML (odpowiednie znaczniki można zapisać w pliku dziennika w taki sam sposób, jak komentarze były wprowadzane w przykładzie 1.bat) i skopiować do firmowego serwer.

Jak automatycznie odpowiedzieć na prośbę o potwierdzenie

Niektóre polecenia wymagają potwierdzenia potencjalnie niebezpiecznej akcji po wykonaniu. Na przykład polecenia takie jak format lub del będą najpierw wymagać potwierdzenia przed dalszym wykonaniem. Jeśli jedno z tych poleceń zostanie wykonane w pliku wsadowym, monit o potwierdzenie zatrzyma wykonanie pliku wsadowego i będzie czekać, aż użytkownik wybierze jedną z podanych opcji. Co więcej, jeśli wynik wykonania pliku wsadowego zostanie przekierowany do pliku dziennika, użytkownik nie zobaczy prośby o potwierdzenie, a plik wsadowy będzie wyglądał na zamrożony.

Aby rozwiązać takie problemy, możesz przekierować żądaną odpowiedź na polecenie. Te. wykonaj czynność odwrotną, aby przekierować wyjście polecenia do pliku.
Spójrzmy na przykład, jak wygląda prośba o potwierdzenie potencjalnie niebezpiecznej akcji. Utwórzmy na przykład folder Foldery na dysku C. Utwórzmy lub skopiujmy do niego dowolne dwa pliki. Następnie otwórz wiersz poleceń i uruchom następujące polecenie:

To polecenie powinno usunąć wszystkie pliki z określonego folderu. Najpierw jednak zostaniesz poproszony o potwierdzenie następującej treści:

C:\Folder\*, kontynuować?

Polecenie zostanie zatrzymane do czasu naciśnięcia klawisza Y lub N. Podczas wykonywania pliku wsadowego w trybie automatycznym jego wykonywanie zostanie zatrzymane.
Aby tego uniknąć używamy przekierowań. Przekierowanie odbywa się za pomocą symbolu
Pionowa linia wskazuje, że zamiast wyświetlać symbol na ekranie, należy go „podać” poleceniu następującemu po symbolu. Sprawdźmy przekierowanie. Uruchom następujące polecenie w wierszu poleceń:

echo Y|del C:\Folder

Na ekranie wyświetli się prośba o potwierdzenie usunięcia wszystkich plików z folderu Folder, ale z pozytywną odpowiedzią (T). Wszystkie pliki w folderze Foldery zostaną usunięte.
Bądź ostrożny z tym poleceniem.

Jak wyłączyć wyświetlanie poleceń podczas wykonywania pliku wsadowego

Podczas wykonywania pliku wsadowego oprócz wyników polecenia wyświetlane są także same polecenia. Możesz użyć symbolu @, aby ukryć wyjście polecenia.
Aby uniknąć drukowania jednego polecenia na ekranie, możesz umieścić znak @ na początku polecenia.

Polecenie to wyświetli polecenie echo Testowanie, a w kolejnym wierszu wynik jego działania, słowo Testowanie.

To polecenie wyświetli jedynie wynik polecenia, tj. słowo Testowanie. Samo polecenie nie zostanie wydane.
Jeśli nie musisz wyświetlać poleceń na ekranie przez cały czas wykonywania całego pliku, łatwiej jest napisać następującą komendę jako pierwszą linię pliku wsadowego:

To polecenie wyłączy wyświetlanie poleceń na ekranie na czas trwania całego pliku wsadowego. Aby zapobiec wydrukowaniu samego polecenia, zaczyna się ono od symbolu @.

Jak uruchomić inny z jednego pliku bat

Czasami podczas wykonywania pliku wsadowego konieczne jest uruchomienie innego pliku wsadowego. Co więcej, w niektórych przypadkach wykonanie głównego pliku wsadowego musi zostać wstrzymane na czas wykonywania pliku pomocniczego, a w innych plik pomocniczy musi działać równolegle z plikiem głównym.
Na przykład utwórzmy dwa pliki bat. Jeden o nazwie 1.bat i zawierający tylko jedno polecenie

Drugi nosi nazwę 2.bat i również zawiera jedno polecenie

Teraz uruchommy plik 1.bat.Otworzy się okno, w którym zostaniesz poproszony o naciśnięcie dowolnego klawisza, aby kontynuować, po naciśnięciu którego okno się zamknie. Zatem wywoływanie jednego pliku wsadowego do drugiego za pomocą polecenia call powoduje zatrzymanie wykonywania pliku wsadowego do czasu zakończenia wykonywania pliku wsadowego wywoływanego poleceniem call.

W innym przypadku musisz uruchomić aplikację lub inny plik wsadowy z pliku bat, nie przerywając wykonywania głównego pliku wsadowego. Często trzeba to zrobić np. poprzez wymuszenie otwarcia logu pliku wsadowego zaplanowanego na noc, aby rano użytkownik mógł sprawdzić poprawność jego wykonania. Aby to zrobić użyj komendy start. Poprawmy linię w pliku 1.bat na

i uruchom plik 1.bat.Teraz otworzyło się okno, w którym należy nacisnąć dowolny przycisk, aby kontynuować, a okno głównego pliku wsadowego (1.bat) zostało zamknięte.
Zatem, aby wywołać kolejny z jednego pliku wsadowego, bez zatrzymywania pierwszego pliku wsadowego, należy użyć polecenia start.
Omówionych powyżej poleceń start i call można używać nie tylko do uruchamiania innych plików wsadowych, ale także do uruchamiania dowolnych aplikacji lub otwierania plików.
Na przykład polecenie start log.txt w treści pliku wsadowego spowoduje otwarcie pliku log.txt w Notatniku bez zatrzymywania pliku wsadowego.

Jak wysłać wiadomość z pliku bat

Kiedy plik wsadowy jest wykonywany na jednym z komputerów w sieci, wygodnie jest poinformować administratora o zakończeniu jego wykonywania za pomocą komunikatu wysłanego na komputer administratora. Można to zrobić, dołączając polecenie do pliku wsadowego

nazwa wysłania sieci Tekst wiadomości

Gdzie nazwa to nazwa komputera lub użytkownika, do którego adresowana jest wiadomość, a Tekst wiadomości to tekst wiadomości. Po uruchomieniu tego polecenia do użytkownika zostanie wysłana wiadomość.
Należy pamiętać, że w przypadku użycia cyrylicy w tekście wiadomości tekst musi być wpisany w kodowaniu MS-DOS (strona kodowa 866). W przeciwnym razie wiadomość dotrze w postaci nieczytelnych znaków. Możesz wpisać tekst w kodowaniu DOS, używając dowolnego edytora tekstu obsługującego to kodowanie. Może to być na przykład FAR. Otwórz plik wsadowy do edycji w FAR (F4) i naciśnij przycisk F8. Górna linia edytora powinna wskazywać kodowanie DOS, a na dole, przy podpowiedzi dotyczącej klawiszy skrótu, klawisz F8 powinien mieć napis Win, wskazujący, że aktualne kodowanie to DOS i aby przełączyć się na kodowanie Win, którego potrzebujesz aby nacisnąć klawisz F8.

Jak zautomatyzować usuwanie plików według typu

Aby wyczyścić dysk z plików tymczasowych, możesz użyć polecenia

del /f /s /q C:\*.tmp

Gdzie
/f – usuwa wszystkie pliki, nawet jeśli mają ustawiony atrybut tylko do odczytu
/s – usuwa pliki ze wszystkich podkatalogów
/q - wyłącza żądanie potwierdzenia usunięcia pliku
C: to dysk, na którym pliki zostaną znalezione i usunięte. Możesz określić nie cały dysk, ale folder, na przykład C:\WinNT
*.tmp - typ plików, które zostaną usunięte

Uważaj na przełącznik /q i typy usuwanych plików. Polecenie usuwa bez pytania o pozwolenie, a jeśli zostanie określony nieprawidłowy typ pliku, może usunąć niepotrzebne.

Jak zmienić adres IP komputera z pliku wsadowego

Adres IP można zmienić za pomocą polecenia netsh.
Aby poprawnie zmienić adres IP, należy najpierw poznać aktualną konfigurację. Można to zrobić w wierszu poleceń za pomocą polecenia

interfejs netsh ip pokaż adres

Wynikiem tego polecenia jest wyświetlenie aktualnej konfiguracji interfejsu sieciowego. Interesuje nas nazwa interfejsu. Powiedzmy, że nazywa się FASTNET.
Załóżmy, że trzeba zmienić adres IP na 192.168.1.42, adresacja sieci jest statyczna, bez użycia DHCP, brama to 192.168.1.1, maska ​​to 255.255.255.0.W tym przypadku polecenie, które należy wykonać z plik wsadowy będzie wyglądał następująco:

interfejs netsh ip ustaw adres nazwa="FASTNET" statyczny 192.168.1.42 255.255.255.0 192.169.1.1 1

Po wykonaniu tego polecenia adres IP interfejsu FASTNET zmieni się na 192.168.1.42.
Polecenie netsh zapewnia szerokie możliwości zarządzania ustawieniami sieciowymi z poziomu wiersza poleceń. Aby zapoznać się z innymi funkcjami, zobacz pomoc dotyczącą korzystania z netsh /?

Jak znaleźć nazwę komputera z pliku bat

Aby poznać nazwę komputera podczas wykonywania pliku bat (aby użyć tej wartości w przyszłości), użyj polecenia

To polecenie zwraca nazwę komputera, na którym jest uruchomione.

Jak zmienić nazwę plików według maski z pliku wsadowego

Czasami konieczna jest zmiana nazw wszystkich plików w folderze przy użyciu szablonu z pliku wsadowego. Można to zrobić za pomocą następującego polecenia w pliku bat:

for /f "token=*" %%a w („katalog /b ŚCIEŻKA\*.*”) wykonaj ren ŚCIEŻKA\%%a Przedrostek%%a

W tej linii należy zastąpić PATH\ ścieżką do plików, których nazwa zostanie zmieniona, a Prefix tymi znakami, które zostaną dodane do nazwy pliku podczas zmiany nazwy.
Nie umieszczaj pliku wsadowego w folderze, w którym odbywa się zmiana nazwy, w przeciwnym razie jego nazwa również zostanie zmieniona. Jeżeli w folderze, w którym zmieniane są nazwy plików, znajdują się podfoldery, to do nazwy podfolderu zostanie również dodany przedrostek, tj. nazwy podfolderów zostaną zmienione jak pliki.
Jeśli określisz konkretną maskę dla typów plików, które podlegają zmianie, na przykład *.txt, a nie *.* jak w przykładzie, wówczas nazwy zostaną zmienione tylko dla plików określonych typów. Nazwy innych plików i folderów nie zostaną zmienione.

Druga opcja:
ustaw ŚCIEŻKĘ=C:\test
dla %%I w (*.txt) wykonaj ren "%thePATH%\%%~nxI" "%%~nI.dat"
Jak używać symbolu procentu w pliku wsadowym

Aby użyć symbolu procentu (%) w pliku wsadowym, należy go zapisać dwukrotnie. Na przykład
echo 50%%
To polecenie w pliku bat wyświetli 50%. Jeśli użyjesz polecenia echo 50%, na ekranie wyświetli się tylko liczba 50.
Weź tę funkcję pod uwagę, używając symbolu% podczas zapisywania plików wsadowych.

Jak wyeksportować rejestr z pliku wsadowego

regedit.exe -ea C:\environment.reg "HKEY_CURRENT_USER\Environment"

To polecenie podczas wykonywania pliku wsadowego zrzuci gałąź HKEY_CURRENT_USER\Environment do pliku C:\environment.reg Gdy zajdzie potrzeba przywrócenia wartości parametrów w HKEY_CURRENT_USER\Environment, wystarczy uruchomić środowisko.reg plik. Za pomocą tego polecenia można codziennie tworzyć kopie zapasowe ustawień oprogramowania i systemu przechowywanych w rejestrze.
Nie zapominaj, że jeśli w ścieżce, w której ma zostać zapisany plik wyjściowy lub w nazwie gałęzi rejestru znajduje się spacja, należy ją ująć w cudzysłów.

Jak zaimportować wartości zmiennych rejestru z pliku wsadowego

Jeżeli zaistnieje potrzeba zaimportowania do rejestru wcześniej zapisanych lub nowych wartości zmiennych z pliku wsadowego, można tego dokonać za pomocą polecenia

regedit.exe -s C:\environment.reg

To polecenie importuje dane z pliku Environment.reg do rejestru bez monitowania o potwierdzenie za pomocą przełącznika -s.

Jak ominąć sprawdzanie daty z pliku bat

Niektóre programy sprawdzają aktualną datę systemową po uruchomieniu. Jeśli data jest późniejsza niż ustawiona przez programistę, program nie zostanie uruchomiony. Na przykład programista uważa, że ​​wersja programu może działać przez miesiąc, a następnie użytkownik będzie musiał zainstalować zaktualizowaną wersję programu. Z jednej strony jest to obawa dla użytkownika, który będzie miał do dyspozycji najnowszą wersję programu z wyeliminowanymi niedociągnięciami w stosunku do poprzednich wersji. Z drugiej strony producent zmusza użytkownika do pobrania nowej wersji nawet jeśli użytkownik jest w pełni zadowolony z wersji programu, który zainstalował. Problem ten można łatwo rozwiązać za pomocą poniższego pliku wsadowego, który uruchomi program, poczeka na jego zakończenie i zwróci datę do tej, która była przed uruchomieniem programu.

ustaw tempdate=%data:~-10%
data 01.01.04
notatnik.exe
data %tempdate%

W tym przykładzie bieżąca data systemowa jest najpierw zapisywana w zmiennej, następnie (w drugiej linii) data systemowa jest ustawiana na 1 stycznia 2004, a następnie wywoływany jest program sprawdzający datę systemową. W tym przykładzie jest to Notatnik. Dopóki Notatnik jest otwarty, plik wsadowy czeka bez uzupełnienia lub ustawienia daty systemowej. Po zamknięciu Notatnika plik wsadowy będzie kontynuował wykonywanie i ustawi datę systemową na wartość zapisaną w zmiennej tempdate, tj. do tego, który był przed uruchomieniem pliku wsadowego.

Nie zapominaj, że jeśli ścieżka do pliku uruchamiającego program zawiera spacje, to należy ją (ścieżkę) ująć w cudzysłów. Jeśli ścieżka zawiera cyrylicę, to podczas pisania pliku wsadowego należy użyć edytora tekstu obsługującego kodowanie DOS (na przykład FAR). W przeciwnym razie po uruchomieniu pliku wsadowego zostanie wyświetlony komunikat informujący, że „określony plik nie jest poleceniem wewnętrznym ani zewnętrznym...”.

Jeśli program sprawdza aktualną datę systemową dopiero przy uruchomieniu i nie robi tego ponownie w trakcie działania, to plik wsadowy można zmodyfikować dodając instrukcję start przed nazwą pliku wykonywalnego programu, tj. nasz przykład będzie wyglądał następująco:

ustaw tempdate=%data:~-10%
data 01.01.04
uruchom notatnik.exe
data %tempdate%

W takim przypadku plik wsadowy zmieni datę systemową, uruchomi program i nie czekając na jego zakończenie, przywróci datę do tej, która była przed uruchomieniem programu.

Jak poczekać, aż określony plik pojawi się w pliku bat

Czasami konieczne jest wykonanie jakiejś czynności, gdy w folderze pojawi się określony plik. Aby zorganizować kontrolę wyglądu pliku w folderze, możesz użyć następującego pliku wsadowego

:test
jeśli istnieje c:\1.txt, muszę iść
spać 10
muszę przetestować
:Iść
notatnik

Taki plik wsadowy będzie co 10 sekund sprawdzał obecność pliku 1.txt w katalogu głównym dysku C, a gdy pojawi się plik 1.txt, zostanie wykonana akcja określona po etykiecie go, tj. ten przykład uruchomi Notatnik.
Narzędzie uśpienia jest swobodnie dystrybuowane jako część zestawu Resource Kit. Możesz go pobrać tutaj.
Jeśli plik 1.txt jest duży i jest skądś kopiowany, może się zdarzyć, że plik wsadowy sprawdzi jego obecność, gdy plik nie został jeszcze skopiowany lub jest zajęty inną aplikacją. W takim przypadku próba wykonania niektórych czynności na pliku 1.txt zakończy się błędem. Aby temu zapobiec, plik wsadowy można zmodyfikować w następujący sposób

:test
jeśli istnieje c:\1.txt, muszę iść
spać 10
muszę przetestować
:Iść
zmień nazwę c:\1.txt 1.txt
jeśli nie, poziom błędu 0 musi iść
usuń c:\1.txt

Jeżeli plik 1.txt nie został w całości skopiowany na dysk C, lub jest zajęty przez inną aplikację, próba zmiany jego nazwy spowoduje błąd i cykl będzie się powtarzał, aż plik zostanie skopiowany w całości lub zwolniony. Po bezbłędnym wykonaniu polecenia rename c:\1.txt 1.txt (tj. plik jest wolny) można przy jego pomocy wykonywać dowolne akcje. W ostatnim przykładzie jest on usuwany.

Jak dodać komentarze do pliku bat

Podczas pisania dużego pliku wsadowego bardzo przydatne jest dodanie komentarzy do jego głównych bloków. Dzięki temu łatwo będzie zrozumieć, co te bloki robią z biegiem czasu.

Wielu autorów tekstów technicznych od czasu do czasu musi zautomatyzować przetwarzanie plików. Czasem mówimy o jednorazowym przetwarzaniu dużej ilości plików, innym razem o systematycznym wykonywaniu tych samych czynności, np. przy korzystaniu z technologii DocBook czy DITA). Przetwarzanie każdego pliku osobnym, ręcznym poleceniem nie tylko zajmuje czas, ale także prowadzi do trudnych do zidentyfikowania błędów, które powstają na skutek naturalnej nieuwagi operatora.

W systemie operacyjnym MS-DOS oraz we wszystkich systemach operacyjnych z rodziny Microsoft Windows najprostszym sposobem automatyzacji przetwarzania plików (i katalogów) są tzw. pliki wsadowe. Powiedzmy od razu, że pliki wsadowe nie są jedynym sposobem automatyzacji pracy użytkownika, nawet wśród tych wbudowanych. W systemach operacyjnych z rodziny Microsoft Windows, począwszy od wersji 98, dostępny jest także Host skryptów Windows. Ponadto nikt nie zabrania nam używania do tych celów jakiegoś języka interpretowanego, powiedzmy Perla, Pythona czy Ruby. Jednakże wymienione narzędzia, choć potężne, wymagają umiejętności programowania, tj. komponować i, co ważne, debugować programy, przynajmniej na dobrym poziomie amatorskim. Korzystanie z plików wsadowych jest dostępne dla każdego bez specjalnego przeszkolenia, wystarczy uważność i zdrowy rozsądek.

Ważna uwaga. Kompletna książka referencyjna lub nawet dobrze napisany podręcznik na temat poleceń MS-DOS i rozwoju plików wsadowych musiałyby opisywać liczne niuanse związane z użyciem różnych parametrów, specyfiką działania plików wsadowych w różnych wersjach Microsoftu Okna itp. i tak dalej. Artykuł ten nie rości sobie prawa do kompletności, w szczególności:

  • nie będziemy opisywać różnych sposobów osiągnięcia tego samego rezultatu;
  • Nie będziemy opisywać wszystkich możliwości i zastosowań wspomnianych poleceń.

Teraz naszym zadaniem jest pomóc osobom całkowicie lub prawie niezaznajomionym z tym narzędziem w opanowaniu plików wsadowych. Następnie możesz przeczytać o wszystkich szczegółach w dokumentacji firmy lub książkach referencyjnych.

Procesor poleceń

Wiele systemów operacyjnych, w tym te opracowane przez firmę Microsoft, zawiera procesor poleceń. Jest to nazwa programu, który inicjuje wykonanie różnych akcji w odpowiedzi na polecenia wprowadzane przez użytkownika z klawiatury. Zasadniczo działania te polegają na uruchomieniu niezbędnych programów z określonymi parametrami. Ale nie tylko; Zobaczymy później, że niektóre polecenia są wykonywane bezpośrednio przez procesor poleceń. Zasadniczo są to polecenia służące do kontrolowania kontekstu i kolejności wykonywania poleceń. Nie będziemy jednak zastanawiać się zbyt głęboko nad naturą poleceń, przynajmniej jeśli nie będziemy musieli. Co ważniejsze, każdy program, który jest technicznie możliwy do uruchomienia z wiersza poleceń, jest traktowany przez procesor poleceń jako polecenie. Nie rozróżnia poleceń natywnych, które były oryginalnie wbudowane w system operacyjny, od programów, które zostały na nim zainstalowane.

Aby uruchomić procesor poleceń:

  1. Kliknij przycisk Początek. Na ekranie wyświetli się menu główne.
  2. Z menu głównego wybierz opcję Uruchom. Na ekranie pojawi się okno dialogowe Uruchomienie programu.
  3. W polu Otwórz wpisz ciąg cmd.
  4. Kliknij przycisk OK. Na ekranie pojawi się okno procesora poleceń.

Wiersz poleceń i polecenia

Okno procesora poleceń w oryginalnej formie wygląda ponuro, a praca z nim nie jest zbyt wygodna dla większości ludzi. Dużo łatwiej jest używać menedżerów plików w stylu Norton Commander. Zapewniają zarówno narzędzia do szybkiej nawigacji w systemie plików, jak i synchronizację wprowadzania poleceń.

Aby wprowadzić polecenie:

  1. Wpisz tekst polecenia w wierszu poleceń.
  2. Naciśnij klawisz Wchodzić.

Polecenia procesora poleceń i systemu operacyjnego są opisane w dokumentacji operacyjnej tego ostatniego. Dokumentacja ta jest częściowo zawarta w samym systemie operacyjnym. Aby uzyskać do niego dostęp, użyj polecenia pomoc. To polecenie wyświetla listę dostępnych poleceń. Aby uzyskać opis konkretnego polecenia, użyj polecenia jako parametru pomoc należy podać jej imię. Wiersz poleceń pokazany na poniższej liście wyświetla opis polecenia Do.

Pomoc dla

Jeśli próbowałeś wprowadzić polecenie pomoc, zapewne zauważyłeś, że wynik jego pracy (tzw. wynik) nie mieści się na jednym ekranie. Ten sam problem występuje w przypadku tekstu opisu polecenia Do. Dobra wiadomość jest taka, że ​​dane wyjściowe można przekierować do pliku. Wiersz poleceń pokazany na poniższej liście generuje plik plik poleceń.txt, zawierający listę wszystkich poleceń MS-DOS.

Pomoc > plik poleceń.txt

W celu wygenerowania pliku z opisem polecenia Do, musisz wydać następujące polecenie (możesz nadać dowolną nazwę pliku wyjściowego).

Pomoc dla > for.txt

W sumie we współczesnych systemach operacyjnych Microsoftu jest nieco mniej niż 80 poleceń i nie da się ich opisać w jednym artykule. W tym miejscu możemy wymienić tylko kilka poleceń przydatnych do automatyzacji przetwarzania plików i pokazać, jak z nich korzystać. Polecenia te zostaną użyte w dalszych przykładach. Zawsze możesz wyjaśnić szczegóły za pomocą polecenia pomoc lub w katalogu.

Kopiuj— kopiowanie jednego lub większej liczby plików;

del— usunięcie jednego lub większej liczby plików;

przenosić— przenoszenie jednego lub większej liczby plików lub katalogów;

Przemianować(w skrócie Ren) - zmień nazwę jednego lub więcej plików lub katalogów;

xkopia— kopiowanie drzewa podkatalogów;

mkdir(w skrócie md) — utworzenie katalogu;

rmdir(w skrócie r & D) — usuwanie katalogu.

Jedną z ogólnych zasad składni poleceń systemu MS-DOS jest to, że podczas określania parametrów najpierw określa się źródło, a następnie wynik. Na przykład, jeśli chcemy przenieść plik piwo.txt z katalogu skrzynka do katalogu tabela, musimy wprowadzić polecenie podane w poniższym wykazie.

Przenieś tabelę box\beer.txt

Najpierw co przenieść, a potem gdzie przenieść.

Jeśli chcemy zmienić nazwę pliku lena.txt do pliku natasza.txt, wówczas polecenie powinno zostać zapisane w sposób pokazany poniżej.

Ren lena.txt natasha.txt

Najpierw, jaką nazwę zmienić, a następnie jaką nazwę zmienić.

Aktualny katalog. Ścieżki bezwzględne i względne

Podczas pracy z poleceniami plikowymi niezwykle ważna staje się koncepcja bieżącego katalogu. Chodzi o to, że podając plik jako parametr polecenia, zawsze używamy jednego z dwóch możliwych sposobów wskazania na niego: albo ścieżki bezwzględnej, albo ścieżki względnej. W pełnej ścieżce podajemy wszystko zaczynając np. od napędu (lub nazwy sieciowej komputera). d:\misha\box\piwo.txt. Niezależnie od tego, jaki katalog będzie aktualny w momencie wprowadzenia polecenia, pełna ścieżka będzie odpowiadać temu samemu plikowi. W przypadku ścieżki względnej punktem początkowym jest katalog bieżący. Najprostszym przypadkiem ścieżki względnej jest nazwa pliku. W kontekście wykonania polecenia oznacza plik o tej nazwie znajdujący się w bieżącym katalogu.

Aby zapisać ścieżkę względną do bieżącego katalogu, należy wprowadzić wpis warunkowy . (kropka). Aby zapisać ścieżkę względną do katalogu zawierającego bieżący katalog, stosuje się zapis warunkowy .. (dwie kropki). Polecenie pokazane na poniższej liście kopiuje wszystkie pliki z bieżącego katalogu do katalogu sąsiad, znajdujący się obok.

Skopiuj *.* .\neighbor

Pliki wsadowe

Do tej pory podając przykłady zakładaliśmy, że za każdym razem wprowadzamy polecenia ręcznie. Przy przetwarzaniu dużej liczby plików lub systematycznym wykonywaniu tych samych poleceń staje się to uciążliwe. Dlatego procesor poleceń zapewnia możliwość wykonywania plików poleceń. Plik wsadowy to plik tekstowy, w którym wpisywane są polecenia (lub co najmniej jedno polecenie). Przykładowy plik wsadowy pokazano na poniższej liście. Spróbuj zgadnąć, co robi ten plik wsadowy.

Pomoc w kopiowaniu > kopiuj. pomoc w przenoszeniu > move.help md msdos-help move *.help msdos-help

Jeśli cel tego pliku pozostaje dla Ciebie tajemnicą, spróbuj go faktycznie utworzyć i uruchomić. Zwyczajowo nadaje się plikom poleceń rozszerzenie nietoperz. W ten sposób pliki tego typu są rozpoznawane przez procesor poleceń. Plik ten można nazwać np. make-help.bat.

Aby uruchomić plik wsadowy:

  1. Wpisz jego imię jako polecenie. Następnie plik wsadowy zostanie wykonany.

W pliku wsadowym każde polecenie zajmuje jedną linię. Dokładniej, istnieje sposób na umieszczenie jednego polecenia w kilku kolejnych wierszach, w tym celu bezpośrednio przed każdym podziałem wiersza należy umieścić znak „cap” ^ . (Każdy wielki znak musi być ostatnim znakiem w swoim wierszu; po nim nie może być spacji ani tabulatorów.) Przykład takiego polecenia pokazano na poniższym zestawieniu.

Jeśli istnieje disser.txt ^ skopiuj disser.txt ^ d:\science\papers\drafts\sources

Ale dla uproszczenia, żeby nie robić za każdym razem zastrzeżeń, założymy, że jest to w pewnym sensie jedna długa „logiczna” linia.

Kiedy wykonywany jest plik wsadowy, procesor poleceń skanuje go od góry do dołu, od pierwszej do ostatniej linii i wykonuje polecenia w kolejności, w jakiej je napotkał. Wykonuje je ogólnie tak, jakbyśmy każdy z nich wprowadzili ręcznie. Ogólnie rzecz biorąc, ponieważ niektóre polecenia zachowują się nieco inaczej, gdy są wprowadzane ręcznie i wykonywane z pliku wsadowego.

Patrząc w przyszłość, powiedzmy, że w razie potrzeby kolejność wykonywania poleceń można zmienić za pomocą poleceń sterujących (co może powodować taką potrzebę, to osobne pytanie).

Nie myl katalogu bieżącego z katalogiem, w którym znajduje się plik wsadowy, który ma zostać uruchomiony. Załóżmy, że bieżący katalog to praca, zawiera katalog narzędzia, a katalog narzędzi przechowuje pliki wsadowe. Uruchamiasz jeden z nich za pomocą polecenia narzędzia\collect-images.bat. Zatem „z punktu widzenia” tego pliku poleceń bieżący katalog nadal będzie praca, ale nie narzędzia.

Komentowanie pliku wsadowego i jego danych wyjściowych. Polecenia echo i rem

Plik wsadowy to zasadniczo program napisany w języku procesora poleceń systemu operacyjnego. Tekst programu powinien być opatrzony komentarzem, aby wracając do niego po pewnym czasie, nie trzeba było boleśnie pamiętać, po co ten program jest potrzebny i jak działa.

System poleceń MS-DOS udostępnia polecenie umożliwiające tworzenie komentarzy: rem. Jest to fikcyjne polecenie, które nie wymaga wykonywania żadnych czynności, ale pozwala na wpisanie dowolnego tekstu w wierszu po Twoim imieniu. Co więcej, procesor poleceń nie postrzega tego jako błędu składniowego. Przykład formatowania pliku poleceń z komentarzami pokazano na poniższym zestawieniu.

Rem *************************************************** **** rem Generowanie plików pomocy za pomocą poleceń kopiowania i przenoszenia rem *********************************** * ******************** rem Utwórz pliki pomocy help copy > copy.help help move > move.help rem Utwórz katalog do przechowywania plików pomocy md msdos-help rem Przenieś pliki pomocy do przygotowanego katalogu przenieś *.help msdos-help

Zwróć uwagę na puste linie, które dzielą plik wsadowy na „akapity”. Ta prosta sztuczka pozwala zwiększyć czytelność pliku wsadowego.

Podczas wykonywania powyższego pliku wsadowego wszystkie polecenia będą wyświetlane na ekranie w trakcie ich wykonywania, co nie zawsze jest wygodne. Wydawanie poleceń można wyłączyć za pomocą polecenia @echo wyłączone. Symbol „pies” przed poleceniem Echo Oznacza to, że samo to polecenie musi zostać wykonane w trybie „cichym”. Równie dobrze moglibyśmy nie używać wiersza poleceń wyłącz echo, ale umieść „psa” przed każdym poleceniem.

W wielu przypadkach chcesz, aby plik wsadowy wyświetlał określone komunikaty na ekranie (lub w pliku). W niektórych przypadkach mogą to być komunikaty o błędach, w innych komunikaty informacyjne wyjaśniające użytkownikowi pliku wsadowego, co się dzieje w momencie, gdy tworzymy jakiś inny przydatny plik z plikiem wsadowym. To samo polecenie echo służy do wyświetlania komunikatów. Tekst komunikatu, który ma zostać wyświetlony, przekazywany jest do niego jako parametr. Lista ulepszonego pliku wsadowego znajduje się poniżej.

@echo off rem ********************************************** ******** ********** rem Generowanie plików pomocy za pomocą poleceń kopiowania i przenoszenia rem ************************ ********* ******************** @echo Generowanie plików pomocy. Chwileczkę... rem Utwórz pliki pomocy help copy > copy.help help move > move.help rem Utwórz katalog do przechowywania plików pomocy md msdos-help rem Przenieś pliki pomocy do przygotowanego katalogu move *.help msdos -pomoc echo Gotowe!

Przekazywanie parametrów do pliku poleceń

Załóżmy, że chcemy utworzyć plik wsadowy, który najpierw wygeneruje pomoc opisującą polecenie określone przez użytkownika, a następnie załaduje ją do Notatnika w celu przejrzenia. Sztuka polega na tym, aby przy następnym uruchomieniu pliku wsadowego w jakiś sposób powiedzieć, które polecenie nas tym razem interesuje.

Aby rozwiązać ten problem, zapewniono mechanizm przetwarzania parametrów. Działa to po prostu. Jeżeli użytkownik uruchamiając plik wsadowy podał kilka parametrów, to w tekście pliku wsadowego pierwszy z nich oznaczamy wpisem %1 , drugi wpis %2 , trzeci wpis %3 itp. Używamy tych zapisów w tekście pliku poleceń w podobny sposób, w jaki używamy zaimków w mowie naturalnej.

Tekst pliku poleceń rozwiązującego problem pokazano na poniższej liście. Zwróć uwagę na polecenie pomoc. Pierwszy parametr pliku poleceń jest do niego przekazywany jako jego parametr.

@echo off rem Tworzymy plik z opisem polecenia, rem którego nazwa jest przekazywana przez parametr help %1 > help.tmp rem Wczytujemy plik z opisem do edytora Notatnika notatnik help.tmp

Załóżmy, że nadajemy nazwę temu plikowi wsadowemu show-help.bat. Aby załadować opis polecenia do notatnika, na przykład: reż, musimy wprowadzić polecenie w następujący sposób.

Show-help.bat reż

Poniższy plik poleceń tworzy katalog o nazwie określonej w pierwszym parametrze i zapisuje do niego plik zawierający tekst opisujący polecenie określone w drugim parametrze.

Rem Przykład pliku poleceń z dwoma parametrami rem Utwórz katalog o nazwie określonej przez pierwszy parametr md %1 rem Utwórz w nim plik z opisem polecenia rem określonym przez drugi parametr pomoc %2 > %1\ %2.pomoc

Co się stanie, jeśli podczas uruchamiania tego pliku wsadowego użytkownik określi cztery parametry zamiast dwóch? Spoko, nie będą w niczym przeszkadzać, po prostu nie będą używane. Co się stanie, jeśli użytkownik określi tylko pierwszy parametr? Drugi parametr będzie pusty. Efekt będzie następujący: plik wsadowy zostanie wykonany, ale jakby w miejscu nagrania %2 tam nic nie ma. Polecenie help wygeneruje listę wszystkich poleceń i umieści ją w pliku z pustą nazwą i rozszerzeniem .help. Jeśli użytkownik uruchomi ten plik bez określenia jakichkolwiek parametrów, wówczas procesor poleceń spróbuje wykonać polecenie md(pamiętaj, że dotyczy to tworzenia katalogu), otrzymamy błąd składniowy, ponieważ polecenie md musi mieć parametr.

Zatem użycie parametrów stwarza ogromne możliwości, ale może znacznie skomplikować sprawę. Aby plik wsadowy zawsze działał poprawnie, należy sprawdzić poprawność podanych przez użytkownika parametrów i w jakiś sposób zareagować na niekompletne lub nieprawidłowe dane wejściowe. Nie możesz tego oczywiście zrobić, jednak niepoprawnie działający plik wsadowy może powodować problemy, szczególnie jeśli wiąże się to z usunięciem lub nadpisaniem danych.

Zmienne. ustaw polecenie

Zmienna jest nazwaną wartością. W podręcznikach programowania zmienną porównuje się zwykle do koperty z zapisanym imieniem. Do koperty możesz włożyć coś, na przykład określoną kwotę pieniędzy - to jest jej wartość. Podobnie jak w przypadku obwiedni, wartość zmiennej można zmieniać.

Aby zadeklarować zmienną i jednocześnie przypisać jej wartość, należy użyć polecenia ustawić. Przykład tego polecenia pokazano na poniższej liście.

Rem Kompilator plików pomocy w formacie CHM zestaw help_compiler=c:\HTML Help Workshop\hcc.exe

Aby wyodrębnić wartość zmiennej, jej nazwę umieszcza się pomiędzy dwoma znakami procentu, jak pokazano poniżej.

Rem Kompilator plików pomocy w formacie CHM set help_compiler=c:\HTML Help Workshop\hcc.exe rem Plik pomocy projektu zestawu modułów "Warehouse" store_hpj=help\sources\store\store.hpj rem Plik pomocy projektu " Moduł sprzedaży" set sales_hpj=help\sources\sales\sales.hpj rem Skompiluj pliki pomocy %help_compiler% %store_hpj% %help_compiler% %sales_hpj%

Poniższa lista pokazuje, dlaczego zmienne są przydatne.

Po pierwsze, pozwalają na użycie krótkiego, równoznacznego z nim fragmentu w pliku wsadowym zamiast długiego fragmentu (na przykład ścieżki do kompilatora pliku pomocy). Przynajmniej jest to wygodne.

Po drugie, pozwalają uniknąć powtórzeń w tekście pliku poleceń fragmentów, które mogą ulec zmianie w przyszłości. Wyobraź sobie, że ponownie zainstalowaliśmy Microsoft HTML Workshop w innym katalogu. Jeśli w pliku wsadowym zostanie użyta zmienna do zapisania ścieżki do niej, wystarczy poprawić tylko jedną linię w pliku wsadowym, a mianowicie tę, w której przypisana jest wartość zmiennej kompilator_pomocy. Gdybyśmy za każdym razem zapisywali ścieżkę do kompilatora, gdy trzeba go wywołać, to po zmianie ścieżki musielibyśmy każdą taką linię poprawiać. W podanym przykładzie są ich dwa, ale w prawdziwym projekcie równie dobrze mogłoby ich być pięć lub piętnaście, w zależności od liczby plików pomocy, które chcemy skompilować. Problem nie polega na tym, że ręczne poprawianie każdej linii jest trudne (w końcu nikt nie anulował poleceń „kopiuj” i „wklej”), ale w tym, że znacznie zwiększa to prawdopodobieństwo przypadkowego błędu.

Parametry pliku wsadowego również są zmiennymi, jednak różnią się od zwykłych zmiennych tym, że ich wartości są ustalane w momencie uruchomienia pliku wsadowego. W przyszłości mówiąc o zmiennych, a zwłaszcza o pracy z ich wartościami, będziemy mieli na myśli także parametry pliku poleceń, przynajmniej w przypadku braku jednoznacznych zastrzeżeń co do tego.

Podczas zapisywania plików wsadowych często stosuje się następującą technikę: kilka wartości zmiennych jest wskazywanych obok siebie (lub przeplatanych pewnymi symbolami lub liniami), aby uzyskać jakąś nową znaczącą wartość. Przykład pokazano na poniższej liście.

Rem Ścieżka do kompilatora pliku pomocy set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe" rem Ścieżka do katalogu, w którym znajdują się projekty plików pomocy setproject_path=e:\work\projects\help- projekty rem Wywołujemy kompilator w celu przetworzenia konkretnego projektu, rem, którego nazwa jest przekazywana w pierwszym parametrze %help_compiler% %project_path%\%1.hpj

Sprawdzanie warunków i wybór opcji. polecenia if i goto

Polecenie if umożliwia wybranie grup poleceń w pliku wsadowym, które zostaną wykonane lub nie, w zależności od określonych warunków. Po co to jest?

Sprawdzanie stanu jest niemal niezbędnym krokiem podczas tworzenia plików wsadowych korzystających z parametrów. Przed rozpoczęciem pracy plik wsadowy z reguły musi upewnić się, że został do niego przekazany poprawny zestaw parametrów. W przeciwnym razie istnieje duże ryzyko, że zostanie on wykonany niepoprawnie lub bez rezultatów, a użytkownik będzie się jedynie zastanawiał, w czym tkwi problem. Co więcej, jeśli plik wsadowy usunie, przeniesie lub nadpisze jakiekolwiek dane, może nawet spowodować uszkodzenie, jeśli parametry będą nieprawidłowe.

Poniższa lista przedstawia plik poleceń kompilacji pliku pomocy, który już znasz. Na początku pliku poleceń dodano kontrolę niepustości pierwszego parametru. Zwróć uwagę na tę cechę składni: operacja porównania używa podwójnego znaku równości. Jeżeli pierwszy parametr nie jest pusty, wykonywana jest komenda goto, która „rzuca” powłokę na określoną etykietę. W tym przypadku nazwa tej etykiety jest kompilowana. Zwróć uwagę, że tam, gdzie pojawia się etykieta, jej nazwa jest poprzedzona dwukropkiem, natomiast w poleceniu goto tak nie jest. Jeśli pierwszy parametr jest pusty, powłoka przechodzi do następnej linii, co powoduje wygenerowanie komunikatu o błędzie. A potem do kolejnego, który przenosi go na sam koniec pliku do etykiety z nazwą skończyć.

@echo off rem Sprawdzamy, czy podano parametr, jeśli nie "%1"=="" goto build rem Jeśli parametr jest pusty, wygenerowany zostanie komunikat o błędzie echo Nazwa projektu pliku pomocy rem nie została podana i przejdź do koniec polecenia rem plik do końca goto etykieta wykończenie rem To jest etykieta o nazwie kompilacja:kompilacja rem Poniżej znajdują się polecenia kompilacji rem Ścieżka do pliku pomocy kompilator set help_compiler="c:\Program Files\HTML Help Workshop\hhc .exe" rem Ścieżka do katalogu, w którym znajdują się projekty pomocy, files set ścieżka_projektu=e:\work\projects\help-projects rem Wywołuje kompilator w celu przetworzenia konkretnego projektu, rem, którego nazwa jest przekazana w pierwszym parametrze %help_compiler% %project_path%\%1.hpj rem To jest etykieta o nazwie wykończenie:zakończenie

Nie oszukujmy się, proponowana metoda sprawdzenia parametru nie jest najskuteczniejsza.

Po pierwsze, jeśli użytkownik błędnie określi jako parametr nazwę nieistniejącego pliku, plik wsadowy zadowoli się tym i podejmie próbę kompilacji. Lepszym sposobem jest sprawdzenie, czy taki plik faktycznie istnieje. W tym celu język poleceń MS-DOS udostępnia specjalne słowo istnieć. Dlatego lepiej byłoby napisać: jeśli istnieje %1.hpj, muszę skompilować.

Po drugie, aktywne użycie polecenia iść do(tzw. skok bezwarunkowy) i etykiety bardzo mylą kod. Technicznie nie są złe, ale debugowanie i utrzymywanie pliku wsadowego napisanego w tym stylu jest dość niewygodne. Dlatego programiści od dawna uważali bezwarunkowe skakanie za niepożądaną technikę. Poniżej pokazano bardziej poprawną, z punktu widzenia stylu programowania, wersję strukturalną, która wykorzystuje konstrukcję Jeśli inaczej. Działa to w ten sposób: jeśli warunek jest spełniony, polecenia w nawiasach są po Jeśli, a jeśli fałszywe, to w nawiasach po w przeciwnym razie.

@echo off rem Sprawdź, czy parametr jest ustawiony, jeśli nie istnieje %1.hpj (rem Jeśli parametr jest pusty, wyświetla się komunikat o błędzie echo Ten projekt pliku pomocy nie istnieje.) else (rem Poniżej znajdują się polecenia kompilacji rem Ścieżka do kompilatora pliku pomocy set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe" rem Ścieżka do katalogu, w którym znajdują się projekty pliku pomocy set Project_path=e:\work\projects\help-projects rem Wywołaj kompilator, aby przetworzył konkretny projekt, rem, którego nazwa jest przekazana w pierwszym parametrze %help_compiler% %project_path%\%1.hpj)

Zwróć uwagę na wcięcie od lewej krawędzi. Są opcjonalne, ale zwiększają czytelność tekstu pliku wsadowego.

Podajmy inny przykład pracy z czekami. Poniższy plik wsadowy tworzy katalog o nazwie pliki pomocy(załóżmy, że chcesz przesłać do niego skompilowane pliki pomocy). Co więcej, jeśli katalog o tej samej nazwie już istnieje (i prawdopodobnie zawiera stare pliki pomocy, których nie chciałbyś stracić: co, jeśli nowe okażą się gorsze?), plik wsadowy przypisuje mu rozszerzenie bak . Ale jeśli katalog pliki-pomocy.bak już istniał, to plik wsadowy go usuwa (założymy, że wystarczy nam jedna kopia zapasowa).

Jeśli istnieją pliki pomocy.bak rd pliki pomocy.bak jeśli istnieją pliki pomocy ren pliki pomocy pliki-pomocy.bak md pliki pomocy

Zbiorcze przetwarzanie plików. na polecenie

Polecenie for umożliwia organizację wykonywania powtarzających się akcji tego samego typu. Można go używać do wyświetlania liczb od jednego do dziesięciu, jak pokazano na poniższej liście.

Dla /l %%i w (1,1,10) wykonaj echo %%i

Zmienny I zwany licznikiem pętli. Ze względu na unikalną składnię polecenia Do, nazwa licznika pętli musi składać się z jednej litery. Co więcej, jeśli piszemy plik wsadowy, to przed nazwą licznika pętli musimy umieścić podwójny znak procentu, ale jeśli po prostu wpisujemy polecenie w wierszu poleceń, to pojedynczy.

Logika tego polecenia jest następująca. Po słowie W wskazany jest zakres zmian licznika cykli. W tej wersji polecenia jest to trójka liczb: wartość początkowa licznika, krok zliczania, wartość graniczna licznika. Podczas wykonywania polecenia powłoka najpierw przypisze zmienną I oznaczający 1 , a następnie na każdym kroku pętli będzie ją zwiększać o 1 aż przekroczy 10 . Oczywiście takich kroków będzie dziesięć. Jeśli określiliśmy liczbę jako krok zliczania 2 , wówczas pętla zostanie wykonana pięć razy. Na każdym etapie pętli ciało pętli zapisane po wykonaniu słowa Do. W powyższym przykładzie jest to polecenie echo, które wyświetla aktualną wartość licznika pętli.

Prawdopodobnie możesz pomyśleć o sytuacji, w której coś takiego jest rzeczywiście wymagane, ale zazwyczaj jest to polecenie Do używany do iteracji i przetwarzania plików. Trzeba powiedzieć, że w dość prostych przypadkach masowe przetwarzanie plików odbywa się za pomocą znaków wieloznacznych. Jeśli chcemy zastąpić wszystkie pliki w bieżącym katalogu rozszerzeniem .htm NA .html, wpisujemy polecenie ren *.htm *.html. Ale jeśli to samo trzeba zrobić nie w jednym katalogu, ale w drzewie katalogów, nie można obejść się bez polecenia for. Poniższy plik wsadowy wykonuje tę operację dla wszystkich plików htm w podkatalogu serwisu internetowego bieżącego katalogu. Dokładniej, w całym drzewie katalogów, które się w nim znajduje strona internetowa.

Dla /r witryny %%i w (*.htm) wykonaj ren %%i %%~ni.html

Klucz /R wskazuje na potrzebę przeglądania katalogu strona internetowa i całe jego wnętrze. Jeśli tego nie określisz (ale nie możesz podać katalogu), wówczas przetwarzane będą tylko pliki z bieżącego katalogu. Zakres wartości licznika pętli w tym wariancie polecenia to zbiór wszystkich plików z rozszerzeniem .htm, znajdujący się w katalogu (a dokładniej w drzewie) strona internetowa. Na pierwszy rzut oka wpis dziwny ~nie oznacza to z wartości zmiennej I Wystarczy wybrać nazwę pliku. Język poleceń MS-DOS udostępnia kilka takich modyfikatorów, na przykład zapis ~xi oznacza rozszerzenie pliku. Wszystkie modyfikatory opisano w pomocy polecenia Do.

Ciało pętli może składać się z kilku poleceń ujętych w nawiasy.

@echo wyłączone dla witryny /r %%i w (*.htm) do (rem Wydrukuj nazwę pliku echo %%i rem Zmień nazwę pliku ren %%i %%~ni.html)

Przenoszenie kontroli do innego pliku wsadowego. polecenie wywołania

Z jednego pliku wsadowego można wywołać inny plik wsadowy. Polecenie to brzmi dzwonić. Świetnie, zmienne określone w wywołującym pliku wsadowym są „widoczne” dla wywoływanego. I odwrotnie, gdy wywoływany plik zakończy pracę i zwróci kontrolę wywołującemu, ten ostatni „zobaczy” zmienne pozostawione mu przez tzw. „dziedziczenie”. Dzięki temu twórca pliku wsadowego może zrobić coś takiego: Jeżeli kilka plików poleceń musi używać tych samych wartości, np. ścieżek do niektórych plików, można je umieścić w osobnym pliku poleceń, który będzie pełnił rolę pliku konfiguracyjnego. Każdy działający plik poleceń rozpocznie się od wywołania pliku konfiguracyjnego. Zaletą jest to, że zmieniając ścieżki, wystarczy wprowadzić zmiany tylko w jednym pliku konfiguracyjnym, a nie w wielu procesach roboczych.

Plik wsadowy „konfiguracyjny”. konfiguracja.bat.

Rem Ścieżka do kompilatora pliku pomocy set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe" rem Ścieżka do katalogu, w którym znajdują się projekty plików pomocy setproject_path=e:\work\projects\help- projektowanie

„Działający” plik wsadowy.

@echo off rem Ustaw zmienne wywołaj config.bat rem Sprawdź, czy parametr jest ustawiony, jeśli nie istnieje %1.hpj (rem Jeśli parametr jest pusty, wyświetlimy komunikat o błędzie echo Ten projekt pliku pomocy nie istnieje.) else ( rem Poniżej znajdują się polecenia kompilacji rem Wywołujemy kompilator w celu przetworzenia konkretnego projektu, rem którego nazwa jest przekazywana w pierwszym parametrze %help_compiler% %project_path%\%1.hpj)