< Windows

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

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.

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)