[[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)