Tartalomjegyzék
Windows parancsor
- Szerző: Sallai András
- Copyright © Sallai András, 2009, 2010, 2011, 2012, 2014, 2015, 2019, 2021
- Licenc: GNU Free Documentation License 1.3
- Web: https://szit.hu
Bevezetés
Kattintgatni mindenki tud, még egy óvodás is, ott is használnak számítógépet. Mi itt most a Windowsok parancssorát fogjuk megismerni. A parancsokat folyamatosan próbáld ki, csak így lehet hatékonyan tanulni.
Egy operációs rendszer felületeket biztosít a programok indítására. Ez lehet grafikus, parancssoros vagy menüs felület. A parancssoros felelet használata egy Windowson nem létszükséglet, amíg nem vagyunk rendszergazdák, viszont nagyban segíti a háttér megértését. Ha meg rendszergazdák vagyunk, nagyon meg tudja könnyíteni az életünket.
Windows parancsablak
Mivel a Windows induláskor automatikusan indítja a grafikus felületet, ezért parancssoros ablak indításával férhetünk hozzá parancssoros felülethez.
A parancsablakot a „Programok”, és azon belül a kellékek között találjuk. Esetleg írjuk be a keresőbe a kívánt programot.
Ha elindult a parancsablak, akkor alapértelmezetten 80 oszlopot és 25 sort tartalmaz (80×25), amin később változtathatunk. A parancsablakban egy program várja a parancsainkat. Ezt a programot, parancsértelmezőnek hívjuk. A parancsértelmező néhány parancsot önmaga megért, mindenféle külső program nélkül saját maga hajt végre. Ezeket belső parancsoknak hívjuk. Ezen felül vannak a külső parancsok, amelyet a parancsértelmező nem ismer. Utóbbi programoknak valahol a rendszerben létezniük kell.
A következőkben nézzük meg milyen parancsértelmezőket használhatunk XP típusú számítógépen.
Windows parancssor
Indítása:
cmd
MS-DOS 16 bites parancssor
Indítása:
command
Windows 10-ben már nincs.
Fájlok
A régi „DOS” alapú operációs rendszereken volt egy autoexec.bat nevű fájl. Ha ebben beleírtunk egy parancsot, a rendszer elindulása után, ezek a parancsok lefutottak. A Config.sys állomány szintén a rendszerindítás után kapott szerepet, de az eszközmeghajtó, kezelő programokat töltöttük itt be.
MS-DOS, 95, 98 | XP |
---|---|
Autoexec.bat | autoexec.nt |
Config.sys | config.nt |
A cmd parancs néhány kapcsolója a hatékonyabb használat érdekében:
A /c kapcsoló után egy parancsot lehet megadni, a végrehajtás után kilép a cmd:
cmd /c "ipconfig > c:\ipconfig.txt"
A /k végrehajt egy parancsot, majd a képernyőn marad a cmd ablak.
A /q kikapcsolja a visszhangot.
Próbáljuk ki a fenti parancs használatát!
Jelszó változtatás
net user janos titok
Így bekéri kétszer:
net user janos *
Tartományi hozzáférés jelszavának megváltoztatása:
net user loginid * /domain
Az echo
Az echo parancs a képernyőre visszhangozza az utána írt szöveget:
echo alma alma
echo alma echo. echo körte
Ha egy pontot teszek utána, akkor sortörésjelet küld a képernyőre.
Ha egy batch fájlba írok egy utasítást, megjelenik a végrehajtott utasítás a kimeneteben. Ez kikapcsolható a következő utasítással:
@echo off
Környezeti változók
A programok számára az operációs rendszerek általában információkat tárolnak a memóriában. Ezeket bármely program elérheti. Ezeket a memóriahelyeket környezeti változóknak hívjuk. Azt is mondhatjuk, hogy ezzel az operációs rendszer egy környezetet biztosít a futó program számára.
Környezeti váltózó nevekre néhány példa:
- PATH
- PROMPT
Hogyan tudjuk megnézni a környezeti változókat? Van egy echo nevű parancs, amely alapértelmezetten semmi mást nem csinál mint az utána írt szöveget a képernyőre visszhangozza. Ezt a parancsot felhasználhatjuk a környezeti változók megjelenítésére is.
A környezeti változó neve előtt és után mindig egy % jel karakterrel hivatkozunk rá. Például a PATH környezeti változót így írathatjuk ki:
echo %PATH%
Esetleg rögtön fájlba is irányíthatjuk:
echo %PATH% > utvonal.txt
További környezeti változók:
dir %SystemRoot% | find ".exe"
dir %UserProfile% > home.txt
A rendszer jellemzői
A rendszerkönyvtár:
%Systemroot%
Segítség:
help
Konzolos szövegszerkesztő:
edit.exe
Fájlkezelés
Fájl létrehozása
copy con test.txt
Begépeljük a fájl tartalmát. Ha végeztünk Ctrl+Z-vel szakítom meg.
Üres fájl létrehozása:
copy NUL ures.txt
vagy:
type NUL > ures2.txt
vagy:
echo. 2> ures3.txt
vagy:
REM. > empty.file
Fájlok listázása
dir
Fájlokat és könyvtárakat együtt listáz
dir *.txt
Csak a .txt kiterjesztésű fájlok listázása
Információ dir parancssról:
dir /?
Csak nevek:
dir /b
Fájl tartalmának listázása
type test.txt
Fájl szerkesztése
edit test.txt
Fájl átnevezése
rename test.txt nev.txt
vagy
ren test.txt nev.txt
Fájl törlése
del nev.txt
erase nev.txt
Tömörítettség
compact
Az aktuális könyvtár tömörítettségifokát adja vissza.
Könyvtárkezelés
Könyvtár létrehozása
mkdir konyvtárnév
Könyvtár listázása
dir
Fájlokat is listáz
Könyvtár átnevezése
rename eredetinév újnév
Könyvtár törlése
rmdir könyvtárnév
Átirányítások
A parancsok alapesetben a képernyőre írnak. Úgy is mondjuk a sztandard kimenetre. Ezen változtathatunk, a kimenetet vagy egy másik programnak átadva, vagy állományba irányítva.
Szabványos bemenet, kimenet és hibák átirányítása
- parancs1 | parancs2
- parancs < [útvonal]fájlnév
- parancs > [útvonal]fájlnév
- parancs >> [útvonal]fájlnév
- parancs < [útvonal] fájlnév > [útvonal]fájlnév
- parancs < [útvonal]fájlnév » [útvonal]fájlnév
- parancs 2> [útvonal]fájlnév
- parancs 2>&1 [útvonal]fájlnév
Az utolsó esetben a hiba és szabványos kimenetet ugyanarra a célkimenetre küldjük.
Átirányítás másik programnak
A type parancs alapesetben a képernyőre írja egy fájl tartalmát. A fájl tartalmát szeretném rendezni. Rendezés a sort paranccsal lehetséges. Egyik megoldás lehet ha a type kimenetét átirányítom a sort számára. A következő példában egy adat.txt fájl tartalmát irányítjuk át:
type adat.txt | sort
A „|” egy függőleges vonal, amelyet pipe néven szokás használni. Csővezetéknek is szokás nevezni az ilyen kimenet átadást, mert olyan mintha egy csővezetékbe vezetnénk a kimenet, ahol átáramlanak az adatok egy másik programhoz.
Átirányítás állományba
ipconfig /all > info.txt
type adat.txt | sort > rendezett.txt
A kimenet szétválasztása
Szabványos üzenetek fájlba írányítása:
dir axakl > szabvanyosUzenetek.txt
Hibaüzenetek fájlba irányítása:
dir axakl 2> hibaUzenetek.txt
A type, more vagy a copy paranccsal nézzük meg az elkészült fájl tartalmát:
type szabvanyosUzenetek.txt more szabvanyosUzenetek.txt copy szabvanyosUzenetek.txt con > nul
type hibaUzenetek.txt more hibaUzenetek.txt copy hibaUzenetek.txt con > nul
Fájlok tartalmának kiíratása, a hibaüzenet törlése:
type f1 f2 f3 2> nul
PowerShellben:
get-content adat.txt
Külön fájlba a hibakimenet és a szabványos kimenet:
dir valami > kimenet.msg 2> kimenet.err
A szabványos kimenet és a szabványos hibakimenet egy fájlba:
dir valami 1> kimenet.msg 2>&1
vagy:
dir valami > kimenet.msg 2>&1
Folyamatkezelés
Folyamatok listázása:
tasklist
A kimenet oszlopai:
- Programkód neve
- PID
- Munkamenet neve
- Munkamenet
- Memóriahaszn
Programkód neve PID Munkamenet neve Munkamenet Memóriahaszn ======================== ========= ================ =========== ============ System Idle Process 0 Services 0 24 K System 4 Services 0 652 K smss.exe 260 Services 0 1 020 K csrss.exe 332 Services 0 3 772 K csrss.exe 380 Console 1 5 728 K wininit.exe 388 Services 0 4 240 K winlogon.exe 416 Console 1 8 648 K ... explorer.exe 1580 Console 1 37 060 K ... TOTALCMD64.EXE 2712 Console 1 24 352 K notepad.exe 2008 Console 1 6 068 K cmd.exe 2696 Console 1 2 788 K ...
Folyamatok leállítása
taskkill /f /im notpad.exe
Visszatérési érték vizsgálata
Bármely program futása után az adott program visszatérési értéke az errorlevel változóban tárolódik. A következő utasítással megtekinthetjük a visszatérési értéket:
echo %errorlevel%
Kódlap lekérdezése
chcp
Az aktuális kódlap azonosítóját adja vissza. XP magyar felületen 1250 érték a megfelelő. Alap esetben magyar XP-én 852 kódlap van.
A kódlapot be is állíthatjuk ha megadjuk paraméterként:
chcp 1250
Unicode kódlap megadása:
chcp 65001
route
Az alapértelmezett átjáró lekérdezése, állítása
route
ip cím
Az ipc cím lekérdezése
ipconfig
Néha szeretnénk tudni a gép hálózati kártyájának hardvercímét. Ehhez szükségünk van az ipconfig után egy kapcsoló megadására:
ipconfig /all
Ez minden lehetséges információt kiír hálózati eszközökről.
Hálózati információk
Hálózati információkat a netstat paranccsal tudunk kinyerni. Egyszerűen futtassuk:
netstat
Hálózati információk egy fájlba írása
netstat > stat.txt hostname >> stat.txt ipconfig >> stat.txt
Port
Mi foglal egy adott portot?
Legyen a 3306 port.
netstat -ano | findstr 3306
Kapunk az utolsó oszlopban egy PID számot, például 2084. Ekkor:
tasklist | findstr 2084
Dátum
date
date /t
Fájlba irányítással (például):
date /t >> stat.txt
Honnan fut egy program
where tsc
Keresés
Például .txt fájlok keresése a Windows könyvtárban:
dir c:\Windows\ | find ".txt"
Egy könyvtárban keressük a jucheck.exe (Java Update Check) programot:
where /r "c:\Program Files (x86)" jucheck.exe
vagy:
dir /s /b "c:Program Files (x86)" | find "juchekc.exe"
Fájlok és programok összerendelése
Kiterjesztés fájlhivatkozásának lekérdezése:
assoc .txt
Kiterjesztés fájlhivatkozásának beállítása:
assoc .txt=txtfile
Fájlhivatkozáshoz rendelt program lekérdezése:
ftype txtfile
Fájlhivatkozáshoz rendelt program beállítása:
ftype txtfile=%SystemRoot%\System32\notepad.exe %1
Példa
Start menü/Futtatás
cmd
assoc .vbs=vbsfile ftype vbsfile=%SystemRoot%\System32\WScript.exe "%1" "%*"
Példa 2
assoc .pl=PerlScript ftype PerlScript=c:\Perl\fordito\utvonal\perl.exe %1 %*
set PATHEXT=.pl;%PATHEXT%
Rendezés
Kezdjük egy fájl létrehozásával:
copy con nevsor.txt Józsi Mari Kati Ctrl+Z Enter
sort < nevsor.txt
Másik fájl létrehozása:
copy con gyumolcs.txt körte barack alma szilva szeder Ctrl+Z Enter
sort < gyumolcs.txt > rendezett.txt
Utóbbi példában a rendezett gyümölcsök listáját fájlba írjuk.
Linkek
Szimbolikus link létrehozása:
mklink hivatkozás cél
Merev link:
mklink /h hivatkozás cél
XP óta van a Windowsban. A W10-ben már felhasználók is használhatják.
Parancssor tördelése
A parancsokat több sorba is írhatjuk, a „^” karakterrel kell jeleznünk, hogy a következő sorban folytatjuk:
C:\> dir ^ Tovább? *.txt
C:\> netsh interface ip ^ Tovább? show config
Batch fájlok
A parancssori fájlok kiterjesztései:
.bat .cmd
A fájl kiterjesztése vagy .bat, vagy .cmd:
- SysInfo.bat
- SysInfo.cmd
- SysInfo.cmd
hostname ver ipconfig -all
A parancsok is megjelennek a prompt mellett.
- HostInfo.cmd
echo A rendszer hostneve: hotname
- HostInfo2.cmd
echo off echo A rendszer kiszolgálójának a neve: hostname >> aktualis.txt
Parancs visszhang be vagy ki van kapcsolva → echo
- HostInfo3.cmd
@echo off echo A rendszer kiszolgálójának neve: hostname >> aktualis.txt
Gyakori utasítások:
- cls
- rem
- echo
- @
- color
- HostInfo3.cmd
cls @echo off echo A rendszer kiszolgálójának neve: hostname >> aktualis.txt
Megjegyzések
A megjegyzéseket mindig REM-el kezdjük. Ezeket a sorokat a parancsértelmező nem veszi figyelembe.
Bármilyen megjegyzést tehetünk a parancsfájlba, de mindegyik elején szokás a következőket leírni:
- Mikor készült
- Ki készítette
- Mire való
- Kapcsolat a készítővel
- A kimenet tárolva van-e
- HostInfo3.cmd
REM 2007.10.24 REM Sallai András REM Rendszer-információk kiíratása REM http://szit.hu REM A kimenet az aktualis.txt fájlba megy cls @echo off echo A rendszer kiszolgálójának neve: hostname >> aktualis.txt
Ciklus ugróutasítással
@echo off :start cls type adat.txt pause goto start
Konzol színe
color 2 1
0 | fekete |
1 | kék |
2 | zöld |
3 | zöldeskék |
4 | piros |
5 | bíbor |
6 | sárga |
7 | fehér |
8 | szürke |
9 | élénk kék |
Windows támogatási eszközök
- Suptools
- RKtools.exe
A parancsok bővítéséhez két csomagot szoktak használni. Az egyik a Suptools.msi, a másik a rktools.exe.
Ezzel például lehetőség van a környezeti változók tartós beállítására:
setx.exe
A setx.exe a XP CD-ROM alábbi könyvtárában található eszközzel telepszik:
Support\Tools\Suptools.msi
A W7 már alapértelmezetten tartalmazza.
Windows Server 2003 Resource Kit → rktools.exe
Parancselérési út
path
Vegyük észre a pontosvesszőket. (;)
Az útvonal a következő környezeti változóban van tárolva:
%PATH%
A setx parancs tartósan állítja be az adott környezeti változót.
Pl.:
setx PATH " %PATH%;C:\Scripts"
Ellenőrzés:
echo %PATH% set %PATH%
A set parancs használata beállítás céljára:
set PATH="%PATH%;C:\Újútvonal"
A rendszerleíró adatbázisban (XP):
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\Path
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Session Manager\Environment\Path
HKEY_CURRENT_USER\Environment\PATH
Parancsok láncolása
Végrehajtja a parancs1-et majd a parancs2-őt:
parancs1 & parancs2
Ha parancs1 sikeres, akkor parancs2 is:
parancs1 && parancs2
Ha parancs1 sikertelen akkor parancs2 kerül végrehajtásra.
parancs1 && parancs2
Zárójelezés:
(parancs1 & parancs2) || (parancs3)
Példák:
cd c:\munka\doku & dir /0:d
dir c:\munka\logs\akt.log && more akt.log d:\tortentek\naplok
parancsfájl kimenete ne hibaüzenet legyen
cd c:\munka\adat || cd c:\adat xcopy n:\doku\*.*
Csoportosítás:
Ha így csináljuk, nem kerül minden fájlba:
hostname ipconfig netstat -a > akt_konf.log
Egy megoldás a csoportosítás:
(hostname & ipconfig & netstat -a) > akt_konf.log
Sorok szűrése
type fájlnév | find "minta"
A type parancs egy állomány tartalmát írja a képernyőre. A find segítségével megszűrhetjük a kimenetet.
A mintát kötelező idézőjelek közé tenni.
netstat -ano | find "3306"
netstat -ano | findstr 3306
PowerShell:
netstat -ano | select-string 3306
Lapozás
Ha nagyon hossz egy fájl tartalma akkor a more paranccsal oldalakra tördelhetjük a megjelenítést.
type fájlnév | more
Végrehajtható fájlok
%PATHEXT%
.exe .bat .cmd .vbs .vbe .js .jse .wsf .wsh
Leállító funkciók
Kikapcsolja a számítógépet:
Shutdown -s
Újraindítja a számítógépet:
Shutdown -r
Kilép a fiókból.
Shutdown -f
Hibernálja a számítógépet.
Shutdown -h
Zárolja a számítógépet.
Shutdown -l
Szolgáltatások
net stop themes net stop AeXNSClient net stop Ati HotKey Poller net stop ERSvc net stop ALG net stop Alerter net stop aspnet_state net stop BITS net stop Browser net stop PolicyAgent net stop Nla net stop RSVP net stop srservice net stop TermService net stop VSS net stop LiveUpdate
sc config "Themes" start= disabled sc config "Alerter" start= disabled sc config "ALG" start= disabled sc config "AppMgmt" start= disabled sc config "aspnet_state" start= disabled sc config "wuauserv" start= disabled sc config "BITS" start= disabled sc config "ClipSrv" start= disabled sc config "COMSysApp" start= disabled sc config "Browser" start= disabled sc config "CryptSvc" start= disabled sc config "DcomLaunch" start= disabled sc config "TrkWks" start= disabled sc config "MSDTC" start= disabled sc config "Dnscache" start= disabled sc config "ERSvc" start= disabled sc config "Eventlog" start= disabled sc config "FastUserSwitchingCompatibility" start= disabled sc config "helpsvc" start= disabled sc config "HidServ" start= disabled sc config "HTTPFilter" start= disabled sc config "ImapiService" start= disabled sc config "CiSvc" start= disabled sc config "PolicyAgent" start= disabled sc config "dmadmin" start= disabled sc config "Messenger" start= disabled sc config "odserv" start= disabled sc config "Netlogon" start= disabled sc config "Nla" start= disabled sc config "xmlprov" start= disabled sc config "ose" start= disabled sc config "SysmonLog" start= disabled sc config "NetDDE" start= disabled sc config "WmdmPmSN" start= disabled sc config "ProtectedStorage" start= disabled sc config "RSVP" start= disabled sc config "RasAuto" start= disabled sc config "RasMan" start= disabled sc config "RDSessMgr" start= disabled sc config "RpcLocator" start= disabled sc config "RemoteRegistry" start= disabled sc config "NtmsSvc" start= disabled sc config "RemoteAccess" start= disabled sc config "seclogon" start= disabled sc config "SamSs" start= disabled sc config "wscsvc" start= disabled sc config "lanmanserver" start= disabled sc config "ShellHWDetection" start= disabled sc config "SiSWLSvc" start= disabled sc config "SCardSvr" start= disabled sc config "srservice" start= disabled sc config "Schedule" start= disabled sc config "LmHosts" start= disabled sc config "TapiSrv" start= disabled sc config "TlntSvr" start= disabled sc config "TermService" start= disabled sc config "UPS" start= disabled sc config "upnphost" start= disabled sc config "VSS" start= disabled sc config "WebClient" start= disabled sc config "stisvc" start= disabled sc config "MSIServer" start= disabled sc config "winmgmt" start= disabled sc config "wmi" start= disabled sc config "W32Time" start= disabled sc config "WZCSVC" start= disabled sc config "WmiApSrv" start= disabled sc config "lanmanworkstation" start= disabled sc config "Diskeeper" start= disabled sc config "Intel PDS" start= disabled sc config "iPassConnectEngine" start= disabled sc config "iPCAgent" start= disabled sc config "LiveUpdate" start= disabled sc config "Lotus Notes Single Logon" start= disabled sc config "MDM" start= disabled sc config "Multi-user Cleanup Service" start= disabled sc config "napagent" start= disabled sc config "NetDDEdsdm" start= disabled sc config "ose" start= disabled sc config "SavRoam" start= disabled sc config "Symantec AntiVirus" start= disabled sc config "DefWatch" start= disabled sc config "ccEvtMgr" start= disabled sc config "SNDSrvc" start= disabled sc config "ccSetMgr" start= disabled sc config "UPHClean" start= disabled sc config "Dot3svc" start= disabled sc config "Win32rls" start= disabled sc config "VMAuthdService" start= disabled sc config "VMnetDHCP" start= disabled sc config "VMware NAT Service" start= disabled sc config "vmount2" start= disabled sc config "gusvc" start= disabled sc config "SharedAccess" start= disabled sc config "SENS" start= disabled sc config "EventSystem" start= disabled sc config "dmserver" start= disabled sc config "Netman" start= disabled sc config "NetDDE" start= disabled sc config "NtLmSsp" start= disabled sc config "SSDPSRV" start= disabled sc config "gusvc" start= disabled sc config "NetDDEdsdm" start= disabled
Rendszer
Vezérlés
Újraindítás azonnal:
shutdown -r -f -t 0
Leállítás azonnal:
shutdown -s -f -t 0
Információk a rendszerről
systeminfo
Prompt beállítása
cmd
Prompt $:
set prompt=$$
Prompt >:
set prompt=$g
Ha szóközt szeretnénk utána, csak írjuk simán utána. Idézőjelet ne írjunk, mert az megjelenik a várakozási jelben. A szóközt megadhatjuk $s szimbólummal is:
set prompt=$$$s
PowerShell
function Prompt {"$ "}
function prompt {"PS: $(get-date)>"}
function Global:prompt {"PS [$Env:username]$PWD`n>"}
Alias
A Sysem32 könyvtárba:
- np.bat
@echo off call notepad++.exe %*