Wiersz poleceń
Spis treści
1. Wstęp
2. Kruczki i sztuczki
3. Podstawy
4. Ciekawe polecenia
4.1. System plików
4.2. Procesy
4.3. Sieć
4.4. Informacje o systemie
4.5. Inne
4.6. Zmienne środowiskowe
4.6.1. Ciekawsze zmienne środowiskowe
5. Bibliografia
1. Wstęp
2. Kruczki i sztuczki
3. Podstawy
4. Ciekawe polecenia
4.1. System plików
4.2. Procesy
4.3. Sieć
4.4. Informacje o systemie
4.5. Inne
4.6. Zmienne środowiskowe
4.6.1. Ciekawsze zmienne środowiskowe
5. Bibliografia
Wstęp
To jest artykuł o standardowym – odziedziczonym z wcześniejszych wersji systemu Windows a nawet z MS-DOSa – wierszu poleceń (powłoce) Windows 7, czyli
cmd.exe
. Zapewne większość wymienionych tu poleceń będzie działało w starszych wersjach Windows.Kruczki i sztuczki
Szybkie otwieranie konsoli tekstowej z bieżącym katalogiem: przejdź do żądanego folderu w oknie Eksploratora. Przytrzymując naciśnięty klawisz
Shift
, kliknij ikonę folderu prawym przyciskiem myszy i wybierz polecenie Otwórz okno polecenia tutaj (niedostępne w Windows XP).
Szybkie pobieranie ścieżki do pliku: w Eksploratorze Windows wciśnij Shift i z menu kontekstowego wybierz Kopiuj jako ścieżkę. Żeby wpisać ścieżkę do pliku w wierszu poleceń można również przeciągnąć plik z Eksploratora Windows do powłoki.
Podczas wpisywania ścieżek dostępu zarówno w Eksploratorze jak i wierszu poleceń można zamiennie używać znaku backslasha i slasha.
Max. długość polecenia w wierszu poleceń: 8191 znaków.
Przydatne skróty klawiaturowe | |
Ctrl+Home | usuwa znaki stojące przed kursorem aż do początku wiersza |
Ctrl+End | usuwa znaki stojące przed kursorem aż do końca wiersza |
Ctrl+Z | znak EOF (czyli odpowiednik Ctrl+D z Linuxa) |
Ctrl+Break lub Ctrl+C | przerywa działanie skryptu |
Niektóre polecenia wiersza poleceń muszą być uruchamiane w trybie administratora. Aby uruchomić
cmd.exe
w trybie administratora kliknij na ikonce programu na pulpicie (lub w menu Start) prawym klawiszem myszy i wybierz opcję Uruchom jako Administrator.
Otwieranie konsoli na pełny ekran:
- utwórz skrót do
cmd
na pulpicie, - odpal wiersz poleceń ze skrótu i wykonaj polecenie:
wmic
, - zmaksymalizuj okno – powinno otworzyć się na cały ekran,
- żeby za każdym razem otwierał się na cały ekran: wejdź we właściwości skrótu, zaznacz opcję Quick edit mode.
W niektórych systemach
Alt+Enter
w oknie konsoli maksymalizuje okno na pełny ekran.Podstawy
Typowe znaczenie opcji:
/?
– wyświetla krótką pomoc na temat dostępnych opcji/Q
– tryb „cichy” – bez wypisywania na ekran/S
– rekurencyjnie
- help polecenie
- odpowiednik
man
w Linuksie; wyświetla pomoc na temat polecenia; poleceniem może być np. „if
„; bez parametru wymienia wszystkie dostępne polecenia. Patrz także Command Line Reference
Instrukcja goto:
:DALEJ ... GOTO DALEJ
- polecenie1 & polecenie2
- sekwencyjne wykonanie poleceń niezależnie od ich wyników
- polecenie1 && polecenie2
- wykonuje
polecenie2
pod warunkiem że jego poprzednik wykonał się poprawnie - polecenie1 || polecenie2
- wykonuje
polecenie2
pod warunkiem że jego poprzednik wykonał się z błędem - dir > nul
- to samo co
ls > /dev/null
w Linuxie - rem napis
- komentarz
- @polecenie opcje
- wyświetla na stdout tylko wynik polecenia, bez samego polecenia
- @echo off
- od tej pory wykonywane polecenia nie będą wypisywane na stdio
- %1
- wartość pierwszego parametru skryptu wsadowego
- FOR %%B IN (A B C) DO ECHO %%B
- pętla for
- for %f in (*.doc) do find „Gwiazdka” „%f”
- szuka napisu „Gwiazdka” we wszystkich plikach
*.doc
bieżącego katalogu - for /r %w in (*.*) do echo %w
- trawersuje drzewo katalogów i wyświetla ścieżki do wszystkich katalogów w drzewie
- for /l %w in (1,2,10) do echo %w
- iteruje zmienną
w
od 1 do 10 co 2 - if [not] ERRORLEVEL zmienna polecenie [else polecenie2]
- jeśli kod błędu ostatnio zwróconego polecenia był >= od podanej liczby
- if [not] str1==str2 polecenie [else polecenie2]
- jeśli podane ciągi są identyczne
- if /I str1 op str2 polecenie
op
to jedno z: equ/new/lss/leq/gtr/geq; opcja/I
ignoruje wielkość liter- if [not] EXIST nazwa_pliku polecenie [else polecenie2]
- jeśli wskazany plik istnieje
- start katalog
- uruchamia Eksplorator Windows dla wskazanego katalogu
- start /B skrypt.bat
- uruchamia skrypt bez otwierania nowego okna
- call skrypt.bat params
- uruchamia skrypt z wnętrza innego skryptu
- cls
- czyści ekran
- date /t
- wyświetla bieżącą datę
- doskey /history
- wyświetla historię wykonanych poleceń
- doskey copy=copy /v $1 $2
- definiuje makro (coś w rodzaju aliasu w Bashu w Linuxie); od tej pory każde użycie polecenia
copy
będzie dodatkowo wykonywało weryfikację poprawności kopii - pause
- czeka na naciśniecie dowolnego klawisza
Ciekawe polecenia
System plików
- cd \
- przechodzi do katalogu głównego bieżącego dysku
- rename *2009* *2010*
- podmienia łańcuchy w nazwach plików (UWAGA: stara nazwa plików i nowa musi być tej samej długości, chyba że zmiana pojawia się na końcu pliku)
- xcopy
- dużo bardziej rozbudowana wersja
copy
- xcopy *.doc g
- \dokumenty /s: kopiuje wszystkie pliki o rozszerzeniu *.doc w bieżącym katalogu oraz podkatalogach do katalogu g:/dokumenty, gdzie zostanie utworzona analogiczna struktura katalogów
- xcopy %userprofile%\documents\*.doc \\server\users\%username% /d
- 08-23-2007: kopiuje pliki
*.doc
które zostały zmodyfikowane danego dnia lub później- xcopy /s /h /r /i /d /y folder_zrodlowy folder_docelowy
- tworzy lub aktualizuje kopię zapasową uwzględniając podkatalogi (
/s
), kopiując tylko nowsze pliki (/d
), w tym pliki ukryte (/h
) i nie pytając o potwierdzenie (/y
)Inne ciekawsze opcje:
/E
- kopiuje również puste katalogi/EXCLUDE:plik
- określa listę plików zawierających ciągi; każdy ciąg powinien być w osobnym wierszu w plikach; jeżeli jakiś ciąg pasuje do dowolnej części ścieżki absolutnej kopiowanego pliku, plik ten nie zostanie skopiowany; na przykład, określenie ciągu postaci\obj\
lub.obj
spowoduje odpowiednio wykluczenie wszystkich plików w podkataloguobj
lub wszystkich plików z rozszerzeniem*.obj
./T
- generuje strukturę katalogów, ale nie kopiuje plików
- robocopy folder_zrodlowy folder_docelowy /mir
- tworzy lustrzaną (1:1) kopię drzewa katalogów (zauważ, że polecenie
xcopy
nie usuwa z katalogu docelowego plików, których nie ma w folderze źródłowym) - tree
- rysuje w trybie tekstowym drzewo katalogów zakorzenione w bieżącym katalogu
- rd /s /q katalog
- usuwa całe drzewo katalogów nie pytając o nic
- del /s /q katalog
- to samo, ale
del
można użyć do usuwania pojedynczych plików; usunięcie pliku oznacza jedynie oznaczenie ich jako usunięte (pierwszy znak nazwy pliku jest zmieniany na znak o kodzie heksadecymalnym E5) i następne operacje zapisu mogą zniszczyć zawartość tak oznaczonego pliku - type notatka.txt | more
- wyświetla zawartość pliku z podziałem na strony
- find /n /i /v "0-700" polaczenia.txt
- coś jak UNIXowy
grep
: przeszukuje plik wyświetlając wiersze i numery wierszy (\n
) nie pasujące (\v
) do podanej frazy, przy czym wielkość liter we wzorcu nie ma znaczenia (opcja\i
); opcja\c
wyświetliłaby wyłącznie liczbę wierszy zawierający szukany ciąg - findstr
- potężniejszy braciszek
find
'a; można wyszukiwać wyrażenia regularne (/r
), szukać rekurencyjnie (/s
) we wskazanych katalogach (/D
) - sort /+3 /r spis.txt
- sortuje plik począwszy od 4-go znaku w każdym wierszu i odwraca kolejność przy wypisywaniu posortowanych wierszy na stdout
- dir /os /q /tc
- listing katalogu z plikami posortowanymi według wielkości; opcja
/q
powoduje wyświetlanie właściciela każdego pliku, a/tc
daty utworzenia (a nie ostatniej modyfikacji) - ftype txtfile=C
- \mojprogram.exe : powoduje że domyślnie wszystkie pliki tekstowe będą otwierane wskazanym programem, a nie Notepadem
- assoc .txt
- pokazuje typ pliku skojarzonego z rozszerzeniem
*.txt
- attrib -R katalog /S
- usuwa atrybut "tylko do odczytu" ze wszystkich plików drzewa katalogów o korzeniu w wyznaczonym katalogu
- icacl plik
- wyświetla uprawnienia do wskazanego pliku (lista kontroli dostępu ACL)
- copy a.txt+b.txt c.txt
- plik
c.txt
zawiera połączoną zawartość kopii plikówa.txt
ib.txt
- ren *.htm *.html
- zmiana nazwy wszystkich plików w katalogu bieżącym z
*.htm
na*.html
- subst f
- \\sekwoja\home : mapowanie katalogu na nową literę dysku
- mountvol /n
- uniemożliwia automatyczne montowanie urządzeń (np. gwizdka); aby je przywrócić użyj opcji
/e
- diskpart.exe
- zarządzanie dyskami (manipulacja partycjami i woluminami (np. tworzenie RAID-5), formatowanie itp.) - otwiera własny wiersz poleceń z komendami np.
- list disk
- wyświetla listę dysków
- select disk 2
- kolejne operacje będą wykonywane na dysku nr 2
- help
- lista dostępnych poleceń
- select help
- opis polecenia
select
- convert.exe F
- /FS:NTFS : konwersja FAT32 do NTFS (nie ma narzędzia do konwersji odwrotnej!)
- defrag.exe
- analiza i defragmentacja dysków
- ChkDsk.exe
- sprawdzanie integralności systemu plików
- mklink /d fotki \\serwer\fotki
- tworzy łącze symboliczne
Fotki
w bieżącym folderze, lecz folder docelowy leży na dysku sieciowym - Cipher.exe
- szyfrowanie plików (EFS)
- cipher.exe /E tajny.doc
- szyfrowanie pliku
- cipher.exe /C tajny.doc
- informacje o szyfrowaniu (rodzaj algorytmu, długość, klucza, kto ma dostęp itp.)
- cipher.exe /D tajny.doc
- deszyfracja
- cipher.exe /D /H /I /S
- C:\: deszyfracja wszystkich plików partycji C: z uwzględnieniem podkatalogów, a także plików ukrytych i systemowych
- Compact.exe
- kompresja katalogów i plików (w sposób przezroczysty dla użytkownika)
- Compact /S /C MojKatalog
- kompresja drzewa katalogów
- Compact /S /U MojKatalog
- dekompresja drzewa katalogów
- Expand.exe
- dekompresja katalogów i plików spakowanych compact'em (można tym również wyodrębniać pliki z archiwów *.cab)
- SFC.exe
- skanuje integralność wszystkich chronionych plików systemowych i opcjonalnie zastępuje niepoprawne wersje plików poprawnymi wersjami firmy Microsoft
- sfc.exe /SCANNOW
- skanuje system plików (może potrwać parę minut)
Procesy
- qprocess
- wyświetla listę procesów
- tskill pid
- zabija proces o podanym PIDzie
- TaskList.exe
- wyświetla listę procesów
- tasklist /SVC
- wyświetla usługi obsługiwane w każdym z procesów
- sc.exe
- zarządzanie usługami
Sieć
- getmac
- wyświeta MAC-adresy kart sieciowych
- netstat -b
- wyświetla informacje o połączeniach sieciowych - dla każdego nazwa programu który to połączenie obsługuje (wymaga uprawnień administratora)
- netstat -e
- wyświetla statystyki dotyczące połączenia sieciowego
- netstat -a
- wyświetla wszystkie połączenia sieciowe i porty nasłuchujące
- NetSh.exe
- zarządzanie siecią (np. definiowanie adresu IP, adresu serwera DNS itp.)
- NetSh.exe interface set interface name=LAN admin=disabled
- wyłącza kartę sieciową o nazwie LAN
- NetSh.exe interface ip show config
- informacje o połączeniach sieciowych
- netsh firewall set service type=remoteadmin mode=enable
- wykonane na maszynie lokalnej pozwala maszynom zdalnym na zdalną administrację lokalnym komputerem
- IPConfig.exe
- testowanie ustawienia sieci TCP/IP
- IPConfig /all
- informacje na temat sprzętu sieciowego i jego konfiguracji
- IPConfig /release
- zwalnia dzierżawę DHCP
- IPConfig /renew
- odnawia dzierżawę DHCP
- IPConfig /displaydns
- wyświetla zawartość cache DNS
- IPConfig /flushdns
- czyści cache DNS
- DJoin.exe
- spinanie komputera z domeną ActiveDirectory
- ARP.exe
- obsługa tabeli translacji adresów IP do adresów fizycznych
- arp -a
- zawartość pamięci podręcznej protokołu ARP
- Route.exe
- administracja lokalną tablicą rutingu
- route print -4
- tablica rutingu dla IP w wersji 4
- TraceRT.exe
- badanie hostow na drodze do hosta (np. zeby ustalic gdzie zapora blokuje pakiety)
Informacje o systemie
- SystemInfo
- dane o systemie
- TypePerf
- pozwala monitorować (próbkować) różne aspekty systemu (pamięć, procesor, itp.) a wyniki zrzucać na ekran
- GPResult /h x.html
- zapisuje w pliku HTML aktualne zasady grupy; szczególną rolę odgrywa w nim dolna część zawierająca sekcje Ustawienia komputera i Ustawienia użytkownika
- winsat disk -seq -write -drive c
- mierzy prędkość zapisu danych na dysku C
Inne
- schtasks /Create /SC ONSTART /TN moje_zadanie /TR C
- \mojplik.bat : tworzy w harmonogramie zadań zadanie o nazwie "moje_zadanie", uruchamiane przy starcie systemu
- driverquery /v
- informacje o zainstalowanych sterownikach (opcja
/v
wyświetla więcej szczegółów) - eventcreate
- służy do tworzenia wpisów w pliku dziennika
- Reg
- pozwala przeszukiwać rejestr, oraz modyfikować, eksportować, importować oraz porównywać klucze rejestru
- Whoami /all
- informacje o użytkowniku (grupy, uprawnienia, itp.)
- SchTasks.exe
- zarządzanie harmonogramem systemu
- WEvtUtil.exe
- dostęp do dziennika zdarzeń
- wmic.exe
- informacje o zasobach systemu (aplikacjach, usługach, itp.), w tym również systemu zdalnego
- wmic.exe /OUTPUT
- "F:\Programy.html" /NODE: "localhost" PRODUCT GET /FORMAT: "HForm": wypluwa do pliku HTML informacje o wszystkich zainstalowanych programach
- wmic.exe /OUTPUT
- "F:\BledneLogowanie.html" NTEVENT WHERE "EVENTTYPE=5 AND LOGFILE='SECURITY'" /FORMAT: "HTable": informacje dotyczące niepowodzenia logowania
- Net.exe
- zarządzanie kontami (net accounts), grupami (net localgroup), udziałami (net share), itp.
- Net start/stop/pause/continue "Bufor wydruku"
- zarządzanie usługami z wiersza polecen; net start wyswietla liste dzialajacych uslug
- Net user
- lista uzytkownikow
- Net user piotrek
- informacje o koncie
- Net share
- wyświetla udziały udostępniane przez lokalny komputer
- Net config server /hidden
- yes: (z uprawnieniami administratora) ukrywa zasoby komputera w sieci lokalnej
- SchTasks.exe
- harmonogram zadań
Zmienne środowiskowe
- path
- wyświetla zawartość zmiennej środowiskowej
PATH
Ciekawsze zmienne środowiskowe
- UserProfile: katalog domowy aktualnie zalogowanego użytkownika
- SystemRoot: katalog Windowsów (np. C:\Windows)
- CopyCmd: jeśli ustawimy wartość na "/Y", to zablokujemy wyświetlanie pytania o nadpisywanie plików w poleceniach XCOPY, COPY i MOVE
- Username: nazwa aktualnie zalogowanego użytkownika
- ComputerName: nazwa komputera
- HomeDrive: napęd na którym znajdują się konta użytkowników
- ProgramFiles: "C:\Program Files"
- Temp: katalog plików tymczasowych
- UserDomain : nazwa domeny z której pochodzi bieżący użytkownik
- PathExt : lista rozszerzeń akceptowanych jako programy do wykonania
Brak komentarzy:
Prześlij komentarz