[[oktatas:operációs_rendszerek:Windows|< Windows]]
====== Windows parancsor ======
* **Szerző:** Sallai András
* Copyright (c) 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 (80x25),
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
hostname
ver
ipconfig -all
A parancsok is megjelennek a prompt mellett.
echo A rendszer hostneve:
hotname
echo off
echo A rendszer kiszolgálójának a neve:
hostname >> aktualis.txt
Parancs visszhang be vagy ki van kapcsolva -> echo
@echo off
echo A rendszer kiszolgálójának neve:
hostname >> aktualis.txt
Gyakori utasítások:
* cls
* rem
* echo
* @
* color
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
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:
@echo off
call notepad++.exe %*
===== Linkek =====
* http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sag_tcpip_pro_addstaticroute.mspx?mfr=true
* http://www.softwareonline.hu/Article/View.aspx?id=2914
* https://www.windows-commandline.com/ (2019)