Aflați codul de comandă Windows pentru programare. Noțiuni de bază pentru linia de comandă Windows. Oală cu miere

Acest articol va acoperi elementele de bază linie de comandă Windows, si anume:

  • Concept de linie de comandă;
  • Referință pentru comenzile Shell;
  • Secvența evenimentelor la executarea unei comenzi;
  • Crearea de scripturi de linie de comandă;
  • Controlul afișajului textului și comenzilor;
  • Comenzi pentru studierea informațiilor de sistem;
  • Comenzi pentru utilizarea registrului;
  • Managementul serviciilor de sistem;
  • Reporniți și opriți sistemele din linia de comandă;
  • Gestionați aplicațiile și procesele din linia de comandă.

Conceptul liniei de comandă

Suportul pentru linia de comandă este încorporat în sistemul de operare sistem Microsoft Windows și este accesibil printr-o fereastră de shell de comandă. Linia de comandă este acceptată în toate versiunile de Windows și este utilizată pentru a rula comenzi, utilitare și scripturi încorporate. În ciuda puterii și flexibilității liniei de comandă, unii Administratorii Windows nu-l folosește niciodată. Dacă aveți suficiente instrumente de administrare grafică, le puteți utiliza doar făcând clic pe elementele interfeței cu utilizatorul.

Cu toate acestea, administratori Windows experimentați, specialiști în software calificați suport tehnic iar utilizatorii „avansați” nu se pot descurca fără linia de comandă. Știind cum să utilizați corect linia de comandă - în special, ce instrumente de linie de comandă să alegeți și cum și când să le utilizați astfel încât să funcționeze eficient - vă poate ajuta să evitați multe probleme și să vă asigurați o execuție fără probleme a operațiunilor. Dacă acceptați mai multe domenii sau rețele, înțelegerea modalităților de economisire a timpului de a lucra cu linia de comandă este nu numai importantă, ci și necesară pentru automatizarea operațiunilor zilnice.

Cu fiecare noua versiune Comanda Windows linia a fost îmbunătățită și s-au extins capacitățile. Linia de comandă a suferit modificări semnificative, asociate nu numai cu o productivitate crescută, ci și cu o flexibilitate crescută. Acum puteți utiliza linia de comandă Windows pentru a rezolva problemele care nu au putut fi rezolvate versiunile anterioare Windows.

Mediul shell de comandă Windows este lansat în diferite moduri, în special prin specificarea parametrilor atunci când rulați Cmd.exe sau folosind propriul fișier de pornire stocat în director %SystemRoot%\System32.

În plus, linia de comandă poate fi rulată modul lot pentru a executa un set de comenzi. În modul batch, linia de comandă citește și execută comenzi una după alta.

Când lucrați cu linia de comandă Windows, trebuie să înțelegeți de unde provin comenzile pe care le utilizați. Comenzile „native” (încorporate în sistemul de operare) vin în două tipuri:

  • Intern– există în interiorul shell-ului de comandă, nu au fișiere executabile separate;
  • Extern- implementat în fișiere executabile separate, care sunt de obicei stocate în directorul %SystemRoot%\System32.

Referință rapidă la comenzile shell (Cmd.exe)

  • conf. univ- afișează sau modifică mapările ( asociatii) tipuri de fișiere;
  • pauză— setează puncte de întrerupere la depanare
  • apel— apelează o procedură sau un alt script dintr-un script;
  • cd (chdir) - afișează numele directorului curent sau schimbă directorul curent;
  • cls— șterge fereastra liniei de comandă și buffer-ul ecranului;
  • culoare— setează culorile textului și de fundal ale ferestrei shell de comandă;
  • scuze— copiază fișiere sau realizează concatenarea fișierelor;
  • data— afișează sau setează data curentă;
  • del (șterge) —șterge un fișier, un grup de fișiere sau un director specificat;
  • dir— arată o listă de subdirectoare și fișiere din directorul curent sau specificat;
  • ecou— afișează text în fereastra liniei de comandă sau stabilește dacă comenzile ar trebui să fie afișate pe ecran (pornit|oprit);
  • endlocal— marchează sfârșitul localizării ( domeniul de aplicare local) variabile;
  • Ieșire— ieșiți din shell-ul liniei de comandă;
  • pentru— execută comanda dată pentru fiecare fișier din set;
  • ftype Listează sau modifică tipurile de fișiere curente în mapările extensiilor de fișiere la programe;
  • du-te la— specifică faptul că interpretul de comenzi ar trebui să meargă la linia cu eticheta dată în scriptul batch;
  • dacă— execută comenzi în funcție de condiții;
  • md (mkdir)— creează un subdirector în directorul curent sau specificat;
  • mişcare— Mută ​​un fișier sau un grup de fișiere din directorul sursă curent sau specificat în directorul specificat. Poate redenumi și un director;
  • cale— arată sau setează calea de comandă utilizată sistem de operare atunci când căutați fișiere executabile și scripturi;
  • pauză— oprește execuția unui fișier batch și așteaptă intrarea de la tastatură;
  • popd— face curent directorul al cărui nume a fost salvat prin comanda PUSHD;
  • prompt— specifică ce text trebuie afișat în linia de invitație;
  • împins— salvează numele directorului curent și, dacă este necesar, actualizează directorul specificat;
  • rd (rmdir)— șterge un director sau un director împreună cu subdirectoarele acestuia;
  • rem— marchează comentariile într-un script batch sau Config.nt;
  • ren (redenumiți)— Redenumește un fișier sau un grup de fișiere;
  • set— arată variabilele de mediu curente sau setează variabile temporare pentru shell-ul de comandă curent;
  • setlocal— marchează începutul localizării ( domeniul de aplicare local) variabile în scripturi batch;
  • schimbare— schimbă poziția parametrilor înlocuiți în scripturile batch;
  • început— lansează un program sau o comandă specificată într-o fereastră separată;
  • timp— afișează sau setează ora sistemului;
  • titlu— setează titlul ferestrei shell de comandă;
  • tip— arată conținutul unui fișier text;
  • verifica— pornește modul de verificare a fișierelor după scrierea pe disc;
  • vol— arată eticheta și numărul de serie al volumului discului.

Sintaxa oricărei comenzi interne ( și cele mai externe) poate fi obținut introducând numele comenzii și /? la linia de comandă, de exemplu:

Shell de comandă- un mediu foarte puternic pentru lucrul cu comenzi și scripturi. Puteți rula comenzi pe linia de comandă diferite tipuri: comenzi încorporate, Utilitare Windowsși versiuni de linie de comandă ale aplicațiilor. Indiferent de tip, fiecare comandă pe care o utilizați trebuie să respecte aceleași reguli de sintaxă. Conform acestor reguli, numele comenzii este urmat de argumente obligatorii sau opționale. În plus, argumentele pot folosi intrarea, ieșirea sau redirecționarea erorilor standard.

Secvența de evenimente la executarea unei comenzi

  • Shell-ul de comandă înlocuiește orice variabile introduse în textul comenzii cu valorile lor curente;
  • Dacă este introdus un grup sau un lanț de mai multe comenzi, linia este împărțită în comenzi individuale, care la rândul lor sunt împărțite în numele comenzii și argumente. În continuare, comenzile sunt procesate separat;
  • Dacă un nume de comandă specifică o cale, shell-ul caută comanda în acea cale. Dacă nu există o astfel de comandă în directorul specificat, shell-ul returnează o eroare;
  • Dacă numele comenzii nu include o cale, shell-ul încearcă mai întâi să rezolve numele comenzii intern. Dacă este găsită o comandă internă cu același nume, atunci o comandă internă a fost apelată și poate fi executată imediat. Dacă nu există nicio comandă internă cu același nume, shell-ul caută mai întâi fișierul executabil al comenzii în directorul curent și apoi în directoarele enumerate în variabila de mediu CALE. Dacă fișierul de comandă nu se află în niciunul dintre aceste directoare, shell-ul returnează o eroare;
  • Dacă comanda este găsită, aceasta este executată cu argumentele date și, dacă este necesar, intrarea este citită din sursa specificată în acele argumente. Ieșirea și erorile de comandă sunt afișate în fereastra Prompt de comandă sau trimise la o ieșire și un receptor de erori specificate.
  • După cum puteți vedea, mulți factori afectează execuția comenzilor, inclusiv căile comenzilor, redirecționarea I/O și gruparea sau înlănțuirea comenzilor.

Când lucrați cu un shell de comandă, probabil l-ați pornit deschizând meniul Start ( Început) și selectând Programe ( Programe) sau Toate programele ( Toate programele), apoi Accesorii ( Standard) și Prompt de comandă ( Linia de comandă). Alte modalități de a porni linia de comandă sunt caseta de dialog Executare ( Pornirea programului) sau tastând cmd într-o altă fereastră de shell de comandă deja deschisă. Aceste metode vă permit să specificați argumente la pornirea liniei de comandă: taste care controlează funcționarea liniei de comandă și parametrii care inițiază execuția comenzi suplimentare. De exemplu, puteți porni un shell de comandă în modul silențios ( adică dezactivați ieșirea ecou) cu comanda cmd /q sau pentru a face ca shell-ul de comandă să execute comanda dată și să iasă - pentru a face acest lucru, introduceți cmd /c, urmat de textul comenzii între ghilimele.

Următorul exemplu pornește un shell de comandă, rulează comanda ipconfig, scoate rezultatele într-un fișier și iese:

Cmd /c „ipconfig > c:\ipconfig.txt”

Crearea de scripturi de linie de comandă

Scripturi de linie de comandă- fișiere text cu comenzi pe care doriți să le executați. Acestea sunt aceleași comenzi pe care le-ați introduce în mod normal într-un prompt de comandă. Shell Windows. Cu toate acestea, în loc să tastați comenzi de fiecare dată când aveți nevoie de ele, puteți să le scrieți și să vă ușurați viața.

Deoarece scripturile constau din caractere text standard, ele pot fi create și editate în orice standard editor de text, să zicem, în Notepad ( caietul). Când introduceți comenzi, asigurați-vă că fiecare comandă sau grup de comenzi care trebuie executate împreună este marcată cu linie nouă. Acest lucru va asigura că acestea sunt executate corect. Când ați terminat de creat scriptul de linie de comandă, salvați fișierul script cu o extensie .bat sau .cmd. Ambele extensii funcționează la fel. De exemplu, dacă trebuie să creați un script pentru a afișa numele sistemului, versiunea Windows și configurația IP, includeți următoarele trei comenzi în fișierul SysInfo.bat sau SysInfo.cmd:

Nume gazdă ver ipconfig -all

Controlul afișării textului și a comenzilor

Echipă ECOU servește la două scopuri: pentru a scrie text în ieșire ( de exemplu, la o fereastră de shell de comandă sau un fișier text) și pentru a activa/dezactiva afișarea ecoului comenzii. De obicei, atunci când rulați comenzi de script, comenzile în sine și rezultatul acestor comenzi sunt afișate într-o fereastră de consolă. Aceasta se numește ecou de comandă ( comandă ecou).

Pentru a utiliza comanda ECHO pentru a afișa text, tastați echo urmat de textul pe care doriți să-l afișați:

Echo Numele de gazdă a sistemului este: nume de gazdă

Pentru a controla ecoul comenzilor folosind ECHO, tastați echo off sau echo on, de exemplu:

Echo off echo Numele gazdei sistemului este: hostname

Pentru a direcționa ieșirea către un fișier și nu către o fereastră shell, utilizați redirecționarea ieșirii, de exemplu:

Echo off echo Numele gazdei sistemului este: > current.txt hostname » current.txt

Acum să vedem cum este suprimată ecoul comenzii. Porniți un shell de comandă, tastați echo off, apoi alte comenzi. Veți vedea că promptul de comandă nu mai este afișat. În schimb, apare doar ceea ce este introdus în fereastra consolei și rezultatul comenzilor executate. În scripturi, comanda ECHO OFF dezactivează ecoul comenzii și promptul de comandă. Adăugând comanda ECHO OFF la scripturile dvs., împiedicați ca fereastra sau fișierul dvs. să fie aglomerat cu text de comandă dacă sunteți interesat doar de rezultatul acestor comenzi.

Studierea informațiilor de sistem

Adesea, atunci când lucrați cu computerul unui utilizator sau cu un server la distanță, este nevoie să obțineți informații de bază despre sistem, cum ar fi numele utilizatorului înregistrat în acesta, ora actuală a sistemului sau locația. fisier specific. Comenzile care colectează informații de bază ale sistemului includ:

  • ACUM- afișează data și ora curentă a sistemului în format de 24 de ore, de exemplu Sal 9 mai 12:30:45 2003. Disponibil numai în Windows Server 2003 Kit de resurse;
  • WHOAMI— raportează numele utilizatorului înregistrat în sistem în acest moment, de exemplu adatum\administrator;
  • UNDE— caută fișiere folosind un model de căutare ( model de căutare) și returnează o listă de rezultate potrivite.

Pentru a utiliza NOW sau WHOAMI, introduceți pur și simplu comanda în fereastra shell-ului de comandă și apăsați Enter. Cea mai comună sintaxă pentru WHERE arată astfel:

Unde /r bază_directory_file_name

Aici parametrul /r este specificat pentru o căutare recursivă pornind de la directorul specificat (director_de_bază) și incluzând toate subdirectoarele acestuia, iar nume_fișier este numele complet sau parțial al fișierului căutat, care poate include caractere metalice: ? înlocuiește un caracter, iar semnul * înlocuiește un grup de caractere, de exemplu data???.txt sau data*.*. Următorul exemplu caută în directorul C:\ și în toate subdirectoarele acestuia fișiere text, ale căror nume încep cu date.

Unde /r C:\data*.txt

De asemenea, puteți găsi fișiere de toate tipurile ale căror nume încep cu date:

Unde /r C:\date.*.*

Uneori trebuie să obțineți informații despre configurația sistemului sau despre mediul sistemului. Pe sistemele critice, aceste informații pot fi salvate sau tipărite pentru referință. Mai jos sunt enumerate comenzi care vă permit să colectați informații despre sistem.

  • DRIVERQUERY- afișează o listă cu toate drivere instalate dispozitivele și proprietățile acestora, inclusiv numele modulului, numele afișat ( Numele de afișare), tipul de șofer și data construirii ( data link-ului șoferului). Modul de afișare a tuturor informațiilor (/V) raportează starea și starea șoferului, modul de pornire, informațiile despre utilizarea memoriei și calea către sistem de fișiere. Opțiunea /V permite și ieșirea informatii detaliate despre toți șoferii nesemnați.
  • SYSTEMINFO- probleme informatii detaliate despre configurația sistemului, inclusiv informații despre versiunea, tipul și producătorul sistemului de operare, procesor, Versiunea BIOS, dimensiunea memoriei, setările regionale, fusul orar și configurația adaptorului de rețea.
  • NLINFO- Afișează informații regionale detaliate, inclusiv limba implicită ( limba implicită), pagina de coduri Windows, formatele de afișare a orei și numerelor, fusul orar și paginile de coduri instalate. Această comandă este disponibilă numai în Kitul de resurse Windows Server 2003.

Pentru a utiliza aceste comenzi pe computerul local, introduceți pur și simplu numele comenzii dorite în fereastra shell-ului de comandă și apăsați Enter.

Comenzi pentru utilizarea registrului

Registrul Windows stochează informații de configurare pentru sistemul de operare, aplicații, utilizatori și hardware. Aceste date sunt cuprinse în secțiuni ( chei) și parametrii ( valorile) registry, care se află într-o anumită secțiune rădăcină ( cheie rădăcină), care controlează cum și când sunt utilizate secțiunile și parametrii.

Dacă cunoașteți căile către partiții și înțelegeți tipurile de date permise în partiții, puteți utiliza comanda REG pentru a vizualiza secțiuni și parametri și pentru a le manipula într-o varietate de moduri. REG acceptă mai multe subcomenzi:

  • REG add— adaugă o nouă subsecțiune sau element la registru;
  • REG șterge— șterge o subsecțiune sau un element din registru;
  • interogare REG— afișează o listă de elemente de secțiune și nume de subsecțiuni ( dacă ele există);
  • REG compara— compară subsecțiuni sau elemente de registru;
  • REG Îmi pare rău— copiază un element de registry pe calea de partiție specificată pe un sistem local sau la distanță;
  • Restabilire REG— scrie subsecțiunile, elementele și parametrii salvate anterior în registru;
  • Salvare REG— salvează o copie a subcheilor, elementelor și setărilor de registru specificate într-un fișier.

Managementul serviciilor de sistem

Serviciile oferă funcții cheie stații de lucru și servere. Pentru a controla serviciile de sistem pe sistemele locale și la distanță, utilizați comanda controlerului de service ( comanda controlerului de serviciu) S.C., care are un set de subcomenzi, doar o parte dintre ele este descrisă mai jos:

  • SC config— crearea conturilor pentru înregistrarea și rularea serviciilor;
  • Interogare SC— afișarea unei liste cu toate serviciile configurate pe computer;
  • SC qc— afișarea configurației unui anumit serviciu;
  • SC start— pornirea serviciilor;
  • SC oprire— oprirea serviciilor;
  • SC pauză— suspendarea serviciilor;
  • SC continua— reluarea serviciilor;
  • Eșecul SC— specificarea acțiunilor care trebuie efectuate atunci când un serviciu eșuează;
  • SC qeşecul- Vizualizați acțiunile întreprinse atunci când un serviciu eșuează.

Puteți specifica un nume în toate comenzile computer la distanță, ale căror servicii doriți să lucrați. Pentru a face acest lucru, introduceți numele UNC sau adresa IP a computerului înainte de subcomandă pe care o utilizați. Iată sintaxa:

Subcomandă Sc ServerName

Reporniți și opriți sistemele din linia de comandă

Sistemele trebuie adesea repornite sau oprite. O modalitate este să utilizați utilitarul Shutdown pentru aceasta, care vă permite să lucrați cu sisteme locale și de la distanță. O altă modalitate de a controla oprirea sau repornirea sistemului este de a atribui o sarcină de oprire. Aici puteți utiliza Schtasks pentru a specifica un timp de închidere sau pentru a crea un script cu o listă de comenzi de închidere pentru sisteme individuale.

Următoarele comenzi vă permit să controlați repornirea și oprirea sistemului local.

Oprirea sistemului local:

Oprire /s /t Întârziere oprire /1 /f

Oprire /r /t Întârziere oprire /1 /f

Managementul aplicațiilor, proceselor și performanței

Ori de câte ori sistemul de operare sau utilizatorul rulează un serviciu, aplicație sau comandă, Microsoft Windows rulează unul sau mai multe procese pentru a controla programul asociat. Mai multe utilitare de linie de comandă vă vor facilita monitorizarea și gestionarea programelor. Aceste utilitati includ:

  • Pmon (Manager de resurse de proces) - Afișează statistici de performanță, inclusiv utilizarea memoriei și CPU și o listă a tuturor proceselor care rulează pe sistemul local. Vă permite să primiți detalii " poze» resursele implicate și procesele efectuate. Pmon vine cu kitul de resurse Windows;
  • Lista de sarcini (Lista de sarcini) - listează toate procesele care rulează după nume și ID-ul procesului, raportează informații despre sesiunea utilizatorului și memoria ocupată;
  • Taskkill (Sarcină Kill) - oprește execuția unui proces specificat prin nume sau identificator. Folosind filtre, puteți opri procesele în funcție de starea lor, numărul de sesiune, timpul CPU, amprenta memoriei, numele utilizatorului și alți parametri.

Acesta este, practic, tot ce am vrut să vă spun despre elementele de bază ale liniei de comandă Windows.

Nucleul Windows:

  • USER(16, 32).dll– funcții de introducere a tastaturii mouse-ului, intrare a interfeței etc. (interacțiunea aplicației cu utilizatorii și mediul Windows).
  • KERNEL(16, 32).dll– funcțiile sistemului de operare (memorie, distribuție resursele sistemului, încărcare).
  • GDI(16, 32).dllGUI(funcții pentru crearea și afișarea obiectelor grafice).

GUI (Interfață grafică utilizator)– interfață grafică standard pentru utilizator. Aceasta este partea din Windows care oferă suport pentru grafică independentă de hardware.

API (Application Program Interface)- interfața programului aplicației (un set de funcții concentrate în Nucleul Windowsși biblioteci suplimentare).

DLL (Biblioteci de linkuri dinamice)- bibliotecă de link-uri dinamice. Funcții API sunt conținute în biblioteci de încărcare dinamică.

DDE– schimb dinamic de date.

Notație Windows („notația maghiară Charles Simonyi”)

Când programați sub Windows, este obișnuit să folosiți prefixe înaintea numelor de variabile pentru a indica tipul lor de date. Se recomandă să vă denumiți propriile variabile și identificatori, respectând următoarele principii:

  1. sens mnemonic– identificatorul trebuie să fie ușor de reținut;
  2. sens semantic– rolul identificatorului ar trebui să fie clar din numele acestuia;
  3. continuitate– obiectele similare trebuie să aibă identificatori similari;
  4. viteza de luare a deciziilor– elaborarea, introducerea și editarea unui identificator nu ar trebui să dureze mult.

Câteva prefixe de notație maghiară:

Prefix Sens
O matrice
B tip boolean (int)
De tip de caracter nesemnat (octet)
C tip de caracter (1 octet)
Cb contor de octeți
Cr culoare
cx,cy tip scurt
Dbl dublu (virgula flotantă)
Dw întreg lung nesemnat (dword)
Flt float (virgulă mobilă reală)
Fn funcţie
g_ prefix pentru variabila globală (variabilă globală)
H mâner (întreg fără semn)
hDC mâner (indicator către contextul dispozitivului)
eu întreg
ID valoarea de identificare integrală
L tip lung
Lp indicator lung
Lpsz far pointer către un șir terminat cu nul
m_ variabila de clasa
N scurt sau int
Np aproape de indicator
P indicator
Pfn indicatorul funcției
PST pointer către structură
Psz pointer către un șir terminat cu nul
Pv indicator pentru a tasta void
S linia
Sz șir terminat nul
U caracter nesemnat
Tm metrica text
V tip void
W întreg fără semn (cuvânt, 16 biți)
x, y întreg scurt (coordonată x sau y)

Tipuri de date Windows utilizate frecvent:

Tip de date Descriere
MÂNER definește un identificator; Un număr întreg de 32 de biți folosit ca descriptor - un număr care identifică o resursă
HWND definește ID-ul ferestrei
HDC definește identificatorul de context al dispozitivului
LUNG Număr întreg cu semn pe 32 de biți
LPSTR definește un indicator liniar
NUL 0
UINT Tip de date Win32 (32 de biți pentru Win32)
WCHAR Caracter UNICODE pe 16 biți. Folosit pentru a reprezenta simboluri ale limbilor lumii

Să adăugăm următorul cod:

#include LONG WINAPI WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) ( HWND hwnd; msg MSG;

Să compilam și să rulăm programul. Pe ecran va apărea o fereastră Windows.

Monstrul trebuie să moară

Nu mă consider un specialist IT sau un utilizator ortodox.
Internet sau jucători nebuni, dar am un computer, cu care lucrez
anumite programe software și monitorizează informații despre computer
situație din lume. În primul rând, datorită faptului că trăim într-o era post-informativă,
lume globalizată, în care computerele controlează centralele nucleare, militare
obiecte strategice, iar cei inveterati să mă ierte
Slavofili, gândirea majorității populației. Impact asupra high-tech
Sfera postului/societății este determinată de impactul asupra umanității în ansamblu. Mai ales dacă
această influenţă este exercitată de monopolist.

Monopol asupra sistemelor de operare, și dacă este exprimat fără tehnico-monocultural
vulgarități, monopol asupra imitațiilor de succes ale inteligenței artificiale, conduce
la o anumită instabilitate politică. Scriitori de science fiction, profeții ale noastre
timp, au prezis în mod repetat un viitor în care marile corporații
erau înzestraţi cu puteri politice. Ei bine, când un sistem
interacționează cu majoritatea utilizatorilor rezonabili și, în același timp, îi aparține
(se supune) unui cerc restrâns de oameni, putem prezice diferite opțiuni
evoluții ale evenimentelor. Avem chiar și ocazia să ne bazăm pe un prototip real,
dacă luăm ca bază Microsoft Corporation. Binecunoscuta creație a lui Paul Allen și
Bill Gates a luptat împotriva acuzațiilor de monopol din 1990.
Apoi, Comisia Federală pentru Comerț a aranjat
verificarea posibilelor coluziune între Microsoft și IBM. Ancheta
s-a stins, dar în 1993 politicile de marketing ale Microsoft legate de
Departamentul de Justiție al SUA a devenit interesat de răspândirea DOS. În 1994
se încheie un acord amiabil între Microsoft și Departamentul de Justiție, potrivit
termenii cărora Microsoft îi este interzis să folosească deja dominantă
poziție pe piață pentru a suprima concurenții. Anul viitor Ministerul
blochează planurile de a fuziona Microsoft și Intuit - din nou de la
considerente antitrust. În august 1997, Microsoft a aranjat un donator
o injecție de 150 de milioane de dolari în concurentul său, Apple Computers. Acestea și
unele dintre celelalte acțiuni ale Microsoft provoacă cel mai mult Departamentul de Justiție
suspiciuni rele. Două luni mai târziu, Departamentul de Justiție depune un proces împotriva
Microsoft cere o amendă zilnică de 1 milion corporației
dolari pentru încălcarea acordului din 1994. Și așa mai departe și așa mai departe de multe ori
de multe ori, cu diferite grade de succes, Microsoft a trecut la conducerea actuală
pozitii. Ultimul proces antimonopol a avut loc în afara teritoriului
SUA, în Uniunea Europeană. O comisie special formată a amenințat cu o amendă de până la 3,2 USD
miliarde, în cazul în care compania nu deschide codul programului pentru cercetare și, de asemenea, nu
va exclude Media Player incluse cu sistemul de operare Windows. Cu toate acestea, conform
Potrivit purtătorului de cuvânt al Comisiei Europene, Tilman Luder, „este puțin probabil ca Microsoft să fie nevoit
deschide codul programului Windows. Compania va trebui doar să furnizeze
„protocoale” care vor permite concurenților să creeze compatibile cu Windows
produse software”.

Microsoft, după ce a interpretat oarecum ambiguu decizia Comisiei UE,
a sugerat deschiderea originalului coduri Windows Server 2003 și furnizați documentația
cu o descriere a protocoalelor sub anumite licențe, care, desigur, trebuie
va cumpăra. Nu este clar dacă oficialii europeni vor fi mulțumiți de nou
Oferă Microsoft. Reprezentanții UE au declarat deja că o vor studia cu atenție
declarații. Cu toate acestea, este posibil ca conflictul dintre UE și Microsoft să nu se termine aici.
întrucât corporația americană și structurile europene se ceartă și ele în privința prețului
licențe pentru utilizarea codului Windows. În plus, autorii procesului împotriva Microsoft
cred că acesta din urmă nu are dreptul să ia bani pentru licențe de rețea
protocoale deoarece este standard software, criptat pentru
contracararea concurenților. Corporația însăși susține acest discurs
este despre evoluții unice.

Oală cu miere

Ce realizează, de fapt, toate aceste procese „antitrust” în plus
Cu siguranță există limitări la creșterea companiei? Mai întâi, forțați Microsoft să lanseze
limitat Versiunea Windows, din care furnizorii ar putea arunca complet
orice programul de aplicare, într-un fel sau altul „încălcând” interesele concurenților –
tot felul de utilitare multimedia, cum ar fi Windows Media Player sau Internet Explorer.
În al doilea rând, ordonați Microsoft să ofere concurenților tot ce au nevoie
informații tehnice, astfel încât software-ul lor să poată funcționa fără probleme cu Windows.
În al treilea rând, deschideți întregul sistem de operare pentru un studiu amănunțit.

Acum să aruncăm o privire mai atentă la deschiderea codului sursă al Windows.
Atât concurenții, cât și dezvoltatorii open source ar dori foarte mult să arunce o privire la el
comunitate și, foarte probabil, hackeri ;). Acestea sunt ultimele la Microsoft, se pare
temut cel mai mult. Reprezentanții Microsoft au afirmat în mod repetat că
deschiderea nu este un avantaj, așa cum susțin susținătorii Linux, dar
pericol teribil: se spune că oricine poate găsi gaura de care are nevoie și
folosește-l pentru rău - scrie un virus sau aranjează un hack. Prin urmare, este mai bine
ascunde codurile sursă, împreună cu toate găurile lor. Permiteți-mi să vă reamintesc că în comunitate
Este obișnuit ca programele open source să inspecteze codurile, să identifice erori, să le raporteze și
încercați să peticeți. Cui îi pasă? S-au exprimat în mod repetat gânduri despre
că există astfel de defecte în codul sursă Windows că deschiderea lor înseamnă
pune într-adevăr în risc teoretic pe toți cei care folosesc produsele
Microsoft. Cel mai probabil Microsoft Windows în toate versiunile sale conține
o vulnerabilitate care nu poate fi remediată (conform unor terți)
cercetători în versiuni diferite Erorile absolute similare sunt diferite). Tratează-o
cam la fel cu umplerea unei gauri în mijlocul unei fundații care este deja
există o clădire cu mai multe etaje. Desigur, Microsoft știe bine
prezența unei erori absolute, dar nu o considerați o vulnerabilitate. Desigur, pentru că originalul
Codurile sunt încă ascunse de ochiul publicului.

Să încetinim puțin și să dăm Companiei cuvenitul. Ea este de câțiva ani acum
furnizează cod sursă autorităților din multe țări, inclusiv
Federația Rusă. Faptul de a oferi acces la codul sursă Windows este foarte
important deoarece acest software servește ca o platformă bazată pe
care au construit sistemele informaţionale de stat ale multor ţări, precum şi
și sisteme de apărare (credeai că există peste tot superaxe bazate pe Linux? :)).
Acordurile nu oferă doar acces la codul sursă Windows
si altele importante informatii tehnice, dar și munca în comun, precum și
consultări în vederea adaptării sistemului de operare la cerinţele care
prezentat de stat la sisteme informatice folosit în organe
puterea de stat. Furnizarea codurilor sursă și
documentație tehnică detaliată în cadrul inițiativei GSP (Securitate guvernamentală).
Program) este o mișcare uimitor de strălucitoare de a afirma monopolul Microsoft.
Într-adevăr, descoperirea codurilor este un argument excepțional de puternic într-o dispută cu activ
viitoare clone Linux. Mai mult, tranziția anunțată la seria Linux
agențiile guvernamentale din Europa nu este susținută de calcule economice.
Desigur, Linux poate fi personalizat exact la nevoile unui anumit utilizator,
limitând funcționalitatea sistemului, dar necesitatea unei astfel de abordări este încă redusă,
în ciuda faptului că necesită specialiști cu înaltă calificare pentru întreținerea sistemului. ÎN
caz cu Deschiderea ferestrelor codurile îi vor liniști pe cei care sunt convinși că în sala de operație
orice funcții suplimentare de spionaj sunt încorporate în sistem, precum și
va consolida poziția Microsoft pe piață. În plus, teoretic apare
oportunitatea este exact aceeași reglaj fin sistem de operare potrivit nevoilor dvs
anumit grup de utilizatori.

Chiar și oficialii fideli Microsoft înțeleg că codurile sursă închise și
informaţiile tehnice fac ca programele corporaţiei să fie potenţial periculoase pentru
interesele naționale ale țării. Cine poate garanta că acele găuri care sunt toate
hackerii găsesc timp pe care Microsoft nu l-a lăsat special să se uite
computerele utilizatorului? Să nu fie așa. Managementul Microsoft constă în
oameni cinstiți de cristal. Dar cine poate garanta asta sub presiunea guvernului
structuri ale Statelor Unite, erorile accidentale nu vor fi folosite fără
cunoașterea altor state de pe teritoriul lor? Nu uita ce urmează
campanie anti-terorism pe scară largă, iar Microsoft este acuzat de mulți
state americane şi organizaţii guvernamentale în monopol şi
concurență neloială. Bill Gates este puțin probabil să fie în această poziție
să apere în mod consecvent drepturile cetățenilor altor țări.

Codurile sursă pot fi vizualizate, dar pot fi modificate numai împreună cu
Specialistii Microsoft. În plus, compania oferă servicii tehnice
informatii despre Platforma Windows pentru a crea calculatoare mai sigure
sisteme Da, nu veți înțelege imediat unde este protecția, când toată protecția intima
Operațiunile sunt efectuate cu participarea și supravegherea angajaților Microsoft? Dar puterea
Microsoft, desigur, nu este în coduri, ci în cunoștințe de psihologie.

Caută codul

Acum câțiva ani, o poveste care implică furtul și distribuirea
prin codul sursă Internet 2000 și NT 4.0. O parte a codului care a apărut pe Internet
a fost, conform experților, primul pachet de servicii pentru Windows 2000 și
din 25 iulie 2000. S-a presupus că sursa scurgerii a fost un fișier
descărcare RAM, generat de unul dintre calculatoarele companiei
Mainsoft, rulează pe Linux. În timpul investigației scurgerilor de cod sursă
săli de operație sisteme Windows 2000 și Windows NT a devenit cunoscut că în mod gratuit
Accesul sa dovedit a fi aproximativ 15% din textul original al programelor. Este vorba despre
aproximativ 30.915 fișiere de cod sursă Windows 2000 care conțin 13,5 milioane de linii
text și 95.103 fișiere și 28 de milioane de linii de cod Windows NT. Codul sursă a fost
scris în limbaje de programare asamblare, C și C++.

Publicarea codului sursă a încântat comunitatea internetului, dar
a alertat experții. „Nu înseamnă că codul sursă va cădea în mâini aleatorii.
nimic bun”, a spus directorul superior al centrului de intervenție în situații de urgență
compania antivirus Symantec Oliver Friedrichs.- Va putea studia
atacatorii și experții în securitate nu vor putea găsi vulnerabilități
anticipat".

Cu toate acestea, Microsoft a negat și neagă posibilitatea oricăror probleme de securitate.
Compania a declarat într-un comunicat că principala sa preocupare a fost posibilitatea furtului.
rezultatele muncii ei, nu amenințarea la securitate reprezentată de scurgere. "Dacă
o mică bucată de cod sursă Windows devine disponibilă publicului, apoi aceasta
problema protejării drepturilor de proprietate intelectuală, nu a securității”, a spus
reprezentant al Companiei. După cum puteți vedea, compania este preocupată în primul rând de probleme
pierderi financiare. Cu toate acestea, acest lucru nu este surprinzător: mulți experți sunt siguri că
îngrijorarea că codurile scurse duc la expunerea în masă
vulnerabilitățile sunt nefondate. Teoretic, pentru un bun inginer analitic, toate
codul este open source. În plus, chiar și un hacker genial trebuie să învețe cod
va dura atât de mult încât până când este gata de utilizare
vulnerabilitate, va fi lansată o versiune actualizată a produsului software. Controversat
ghici, nu? Dar dacă nu te calmează, încearcă altele alternative.
produse software bazate pe open source și bucurați-vă de viață.

Calitate pe conștiința cumpărătorului

Dar despre deschiderea codului Windows 2003, cei atenți vor întreba?
cititor. Ei bine, la naiba, răspund reprezentanții sectorului IT. Microsoft nu este nimeni
a cerut să deschidă codurile acestui sistem. În general, acest lucru este necesar doar de Microsoft însuși.
Puteți clona codul fără Microsoft, dar pentru a obține o documentație clară -
Nu. Microsoft caută să licențieze propriul software pentru a avea și mai mult
capabilități de control al accesului. În 2004, s-a vorbit despre decizia Comisiei Europene
că Compania trebuie să furnizeze documentație exactă în termen de 120 de zile
interfata. Informațiile dezvăluite trebuiau actualizate de fiecare dată
lansarea de noi versiuni. Nu s-a vorbit deloc despre codurile sursă. Reprezentanți
Microsoft a declarat inteligent că „codul sursă este finalul
documentație, ADN-ul sistemului.” Într-adevăr, nu poți scăpa de asta. Din astfel de definiții în
Este timpul ca avocații să înnebunească și să înceapă procese nesfârșite. Pe ce
de fapt, compania este în construcție de atâția ani.

În 2004, Microsoft, prin decizie a UE, a furnizat 12.000 de pagini (da, asta este
nu o greșeală de tipar – 12 mii de pagini) un tratat care descrie codul sursă. Apoi
Experții europeni nu au putut să-și dea seama. Anul acesta, Microsoft
i-a făcut milă și a promis doar 500 de ore de asistență tehnică, încercând să explice de ce
au scris acolo 12.000 de pagini. Se pare că Microsoft
Cum poate, în cadrul legislației disponibile, încetinirea procesului cunoscut de
axioma „totul secret mai devreme sau mai târziu devine clar” și, în același timp, încă încearcă
să urmeze o politică de produse brevetate care este benefică pentru sine. Program pentru
„Expunerea” de către Microsoft a Windows implică doar furnizarea de informații de referință
licențe de cod sursă. Prin urmare, Microsoft vă va permite să vizualizați codul
detectează erori în el, dar nu vă va permite să faceți modificări. Deci dacă tu
creați-vă propriile aplicații pentru Windows, puteți depana codul acestora
aplicații și cod Windows cu API-uri asociate. În teorie, asta înseamnă că atunci când
analiza funcțiilor de securitate, nimeni nu va efectua o verificare completă a securității Windows,
dar va fi posibil să verificați componentele asociate aplicației dvs. Dacă
Dacă găsiți o eroare în Windows, vi se va cere să o raportați la birou
Microsoft. Și chiar dacă sugerați o modalitate de a rezolva eroarea, Compania
își rezervă dreptul de a alege dacă îl include sau nu în următorul pachet de servicii.

Chiar și cu varianta optima cercetarea codului Compania va oferi cca.
95% Windows. Alte trei procente din cod nu pare să aparțină Microsoft, dar
unele locuri - cum ar fi codul de activare a produsului - au prea multe
valoare pentru a le descoperi. În plus, răspândirea unora
elementele criptografice sunt limitate de guvernul SUA și nu pot fi
exportate în alte ţări.

Este timpul să înțelegeți că codurile sursă Windows sunt un mit. Conform informațiilor
Microsoft, Windows OS conține câteva zeci (dacă nu sute) de milioane
linii de cod, care este în mod constant rafinat și modernizat. Chiar și în cele mai multe
Companiile nu sunt complet clare despre ceea ce au dezvoltat. Înțelegeți codul
foarte, foarte greu. hype care se ridică din când în când în jurul codurilor sursă,
benefic în primul rând pentru Microsoft însăși. Dacă codurile nu sunt dezvăluite, acestea vor fi salvate.
secrete comerciale și va ascunde numeroase erori. Dacă îl deschid, este și mai bine.
Ele vor oferi un control mai strict asupra licențelor, vor atinge Linux și practic
nu vor pierde nimic. Lansarea unui nou sistem de operare Windows este promisă în 2006
Vista, al cărui cod sursă nimeni nu îl va deschide. as vrea sa intreb
Microsoft – ce beneficii specifice va primi utilizatorul din decizia Comisiei UE?
Ce vom obține exact din deciziile Companiei cu privire la propriul cod sursă?

Shell-ul de comandă este separat produs software, care asigură comunicarea directă între utilizator și sistemul de operare. Text interfata utilizator Linia de comandă oferă un mediu în care să rulați aplicații și utilitare bazate pe text. În shell-ul de comandă, programele sunt executate și rezultatul execuției este afișat pe ecran într-o formă similară cu interpretul Command.com MS-DOS.

Folosind mai multe comenzi și simboluri condiționale

Puteți executa mai multe comenzi dintr-o singură linie de comandă sau script folosind simboluri prelucrare condiționată. Când se utilizează mai multe comenzi care conțin simboluri de procesare condiționată, comenzile din dreapta simbolului de procesare condiționată vor fi executate în funcție de rezultatele comenzii din stânga simbolului. De exemplu, doriți ca o comandă să fie executată numai dacă comanda anterioară nu a fost executată cu succes. Sau necesită ca comanda să fie executată numai dacă comanda anterioară a fost executată cu succes.

Puteți utiliza caracterele speciale enumerate în tabelul următor pentru a trimite mai multe comenzi.

SimbolSintaxăDefiniţie
& [...] echipa 1 & echipa 2 Folosit pentru a separa mai multe comenzi pe o singură linie de comandă. În Cmd.exe, se execută prima comandă, apoi a doua comandă.
&& [...] echipa 1 && echipa 2 && , numai dacă comanda care precede acest caracter a fost executată cu succes. Prima comandă este executată în Cmd.exe. A doua comandă este executată numai dacă prima a fost executată cu succes.
|| [...] echipa 1 || echipa 2 Rulează comanda din spatele simbolului || , numai dacă comanda care precede simbolul || nu a fost îndeplinită. Prima comandă este executată în Cmd.exe. A doua comandă este executată numai dacă prima nu a fost executată (codul de eroare rezultat este mai mare decât zero).
() [...] (echipa 1 & echipa 2) Folosit pentru gruparea sau imbricarea comenzilor.
; sau , echipa 1 parametrul 1; parametrul 2 Folosit pentru a separa parametrii de comandă.

Note

  • Ampersand (&), pipe (|) și parantezele () sunt caractere speciale care trebuie precedate de un caracter de control (^) sau de ghilimele dacă aceste caractere sunt transmise ca argumente.
  • Dacă comanda finalizează operația cu succes, se returnează un cod de eroare zero (0) sau niciun cod de eroare.

Coji cuibărite

Este posibil să imbricați shell-uri de comandă în Cmd.exe, deschizând o nouă instanță a Cmd.exe din linia de comandă. În mod implicit, fiecare instanță a Cmd.exe moștenește mediul său cerere părinte cmd.exe. Imbricarea instanțelor Cmd.exe vă permite să vă imbricați mediul local modificări care nu vor afecta aplicația părinte Cmd.exe. Acest lucru vă permite să păstrați mediul original Cmd.exe și să reveniți la el după ce ștergeți shell-ul de comandă imbricat. Modificările făcute unui shell imbricat nu sunt salvate.

Pentru a crea un shell de comandă imbricat, la promptul de comandă, introduceți:

Apare un mesaj similar cu acesta:

Microsoft (R) Windows XP (TM)
(C) Copyright 1985-2001 Microsoft Corp.

Pentru a închide toate shell-urile imbricate, introduceți comanda Ieșire.

De asemenea, puteți localiza modificările aduse instanței (sau scriptului) Cmd.exe folosind comenzile setlocalŞi endlocal. Echipă setlocal creează o zonă locală și endlocalîl șterge. Orice modificări efectuate în zona creată de comenzi setlocalŞi endlocal, nu sunt luate în considerare; astfel mediul original rămâne neschimbat. Puteți crea până la 32 de zone imbricate folosind aceste comenzi.

Utilizarea variabilelor de mediu în Cmd.exe

Mediul shell al Cmd.exe este definit de variabile care controlează comportamentul shell-ului și al sistemului de operare. Puteți defini comportamentul mediului shell sau al întregului mediu al sistemului de operare folosind două tipuri de variabile de mediu: de sistem și locale. Variabilele de mediu ale sistemului definesc comportamentul mediului global al sistemului de operare. Variabilele de mediu locale controlează comportamentul mediului într-o anumită instanță a Cmd.exe.

Variabilele de mediu ale sistemului sunt predefinite în sistemul de operare și sunt disponibile pentru toată lumea procesele Windows XP. Numai utilizatorii cu privilegii administrative pot modifica aceste variabile. Aceste variabile sunt cel mai frecvent utilizate în scripturile de conectare.

Variabilele de mediu locale sunt disponibile numai atunci când utilizatorul pentru care au fost create este autentificat. Variabile locale din stup HKEY_CURRENT_USER sunt valabile numai pentru utilizatorul curent, dar definesc comportamentul mediului global al sistemului de operare.

Următoarea listă prezintă diferitele tipuri de variabile în ordinea descrescătoare a priorității.

  1. Variabile de sistem încorporate
  2. Variabilele sistemului de stup HKEY_LOCAL_MACHINE
  3. Variabile locale de stup HKEY_CURRENT_USER
  4. Toate variabilele de mediu și căile sunt specificate în fișierul Autoexec.bat.
  5. Toate variabilele de mediu și căile sunt specificate în scriptul de conectare (dacă există).
  6. Variabile utilizate interactiv într-un script sau într-un fișier batch

În shell-ul de comandă, fiecare instanță a Cmd.exe moștenește mediul aplicației părinte. Prin urmare, puteți modifica variabilele în noul mediu Cmd.exe fără a afecta mediul aplicației părinte.

Următorul tabel oferă o listă de variabile de sistem și locale.

VariabilăTipDescriere
%ALLUSERSPROFILE%LocalReturnează plasarea profilului „Toți utilizatorii”.
%APPDATA%LocalReturnează locația implicită a datelor aplicației.
%CD%LocalReturnează calea către folderul curent.
%CMDCMDLINE%LocalReturnează șirul de comandă care a fost folosit pentru a lansa această instanță a Cmd.exe.
%CMDEXTVERSION%SistemReturnează numărul versiunii extensiilor curente ale procesorului de comandă.
%COMPUTERNAME%SistemReturnează numele computerului.
%COMSPEC%SistemReturnează calea către shell-ul de comandă care se execută.
%DATA%SistemReturnează datele curente. Utilizează același format ca și comanda data/t
%ERRORLEVEL%SistemReturnează codul de eroare al ultimei comenzi utilizate. Adică, nu egal cu zero, indică de obicei că există o eroare.
%HOMEDRIVE%SistemReturnează numele unității locale statie de lucru asociat cu directorul principal al utilizatorului. Setați pe baza locației directorului principal. Directorul principal al utilizatorului este specificat în snap-in " Utilizatori localiși grupuri.”
%HOMEPATH%SistemReturnează calea completă către directorul principal al utilizatorului. Setați pe baza locației directorului principal. Directorul principal al utilizatorului este specificat în snap-in-ul Utilizatori și grupuri locale.
%HOMSHARE%SistemReturnează calea de rețea către directorul principal partajat al utilizatorului. Setați pe baza locației directorului principal. Directorul principal al utilizatorului este specificat în snap-in-ul Utilizatori și grupuri locale.
%LOGONSEVER%LocalReturnează numele controlerului de domeniu care a autentificat sesiunea curentă.
%NUMBER_OF_PROCESSORS%SistemSpecifică numărul de procesoare instalate pe computer.
%OS%SistemReturnează numele sistemului de operare. La folosind Windows Numele sistemului de operare 2000 apare ca Windows_NT.
%CALE%SistemSpecifică calea de căutare pentru fișierele executabile.
%PATHEXT%SistemReturnează o listă de extensii de fișiere care sunt considerate executabile de sistemul de operare.
%PROCESSOR_ARCHITECTURE%SistemReturnează arhitectura procesorului. Valori: x86, IA64.
%PROCESSOR_IDENTFIER%SistemReturnează o descriere a procesorului.
%PROCESSOR_LEVEL%SistemReturnează numărul de model al procesorului instalat pe computer.
%PROCESSOR_REVISION%SistemReturnează numărul de revizuire a procesorului.
%PROMPT%LocalReturnează opțiunile liniei de comandă pentru interpretul curent. Creat de comanda Cmd.exe.
%RANDOM%SistemReturnează arbitrar număr zecimal de la 0 la 32767. Creat de comanda Cmd.exe.
%SYSTEMDRIVE%SistemReturnează numele unității care conține directorul rădăcină Windows (adică directorul de sistem).
%SYSTEMROOT%SistemReturnează locația directorului de sistem Windows XP.
%TEMP% și %TMP%Sistem și utilizator
Vatelskaya
Returnează folderele temporare implicite utilizate de aplicații care sunt accesibile utilizatorilor conectați. Unele aplicații necesită variabila TEMP, altele necesită variabila TMP.
%TIMP%SistemRetururi ora curentă. Utilizează același format ca și comanda timp/t. Creat de comanda Cmd.exe.
%USERDOMIN%LocalReturnează numele domeniului care conține lista de conturi de utilizator.
%USERNAME%LocalReturnează numele de utilizator al utilizatorului conectat în prezent.
%USERPROFILE%LocalReturnează plasarea profilului pentru utilizatorul curent.
%WINDIR%SistemReturnează locația directorului sistemului de operare.

Setarea variabilelor de mediu

Utilizați comanda set pentru a crea, șterge sau afișa variabile de mediu. Echipă set modifică variabilele numai în mediul shell-ului curent.

Pentru a afișa variabila, la promptul de comandă, introduceți:

set nume_variabilă

Pentru a adăuga o variabilă, la promptul de comandă, introduceți:

set variablename=sens

Pentru a elimina o variabilă, la promptul de comandă, introduceți:

set nume_variabilă=

Este posibil să folosiți majoritatea caracterelor ca valori variabile, inclusiv spațiu. Când se utilizează caractere speciale, ca<, >, & sau ^ trebuie să fie precedate de un caracter de escape (^) sau de ghilimele. Când utilizați ghilimele, acestea sunt incluse în valoarea variabilei, deoarece toate caracterele care urmează semnul egal sunt luate ca valoare a variabilei. Luați în considerare următoarele exemple.

  • nou&nume,intra:

    set varname=new^&name

  • Pentru a crea o valoare variabilă „nume&nou”,intra:

    set varname="new&name"

  • Când este introdus pe linia de comandă set varname=new&name Apare următorul mesaj de eroare: „„nume” nu este recunoscut ca o comandă internă sau externă, program operabil sau fișier batch.”

Numele variabilelor nu țin cont de majuscule. Cu toate acestea, echipa set afișează valoarea variabilei așa cum a fost introdusă. Puteți combina caracterele de jos și majusculeîn numele variabilelor pentru a face codul mai ușor de citit (de exemplu, UserName).

Note

  • Dimensiunea maximă a unei variabile de mediu individuale este de 8192 de octeți.
  • Dimensiunea totală maximă a tuturor variabilelor de mediu, inclusiv numele variabilelor și semnul egal, este de 65.536 KB.

Înlocuirea valorilor în variabilele de mediu

Pentru a putea înlocui valori într-o variabilă de mediu din linia de comandă sau din scripturi, trebuie să includeți numele variabilei în simboluri procentuale ( % nume_variabilă% ). Simbolurile procentuale indică faptul că Cmd.exe ar trebui să acceseze valorile variabilelor, mai degrabă decât să facă o comparație caracter cu caracter. După definirea unei valori pentru numele unei variabile, includeți numele variabilei în simboluri procentuale. Cmd.exe caută toate aparițiile numelui variabilei și îl înlocuiește cu valoarea variabilei specifice. De exemplu, doriți să creați un script care conține diverse valori (cum ar fi numele de utilizator) și doriți să definiți valoarea corespunzătoare pentru variabila de mediu USERNAME pentru fiecare utilizator. Pentru a face acest lucru, scrieți un script folosind variabila USERNAME, cuprinsă între ghilimele. Când rulați scriptul, Cmd.exe va înlocui aparițiile %USERNAME% cu valorile adecvate, eliminând necesitatea de a face acest lucru manual pentru fiecare utilizator. Înlocuirea valorii nu este recursivă. Cmd.exe verifică variabilele o dată. Pentru mai multe informații despre înlocuirea valorilor în variabile, consultați secțiunile






program rem_1
cls
@echo dezactivat
culoarea 0A
set string=Bună lume!!!
ecou %string%







program_1.cmd

program rem_2
cls
@echo dezactivat
culoarea 0A
setați a=1
setați cronometrul=10
) else (echo a!=1)


Ei bine, cel puțin este de înțeles pentru mulți.


program rem_3
cls
@echo dezactivat
culoarea 0A



(pentru /f „tokens=1-5” %A în (users.txt) face @echo %D) > emails.txt

De exemplu, baza noastră este „ideală”, cum ar fi:

alexeykursk alexeykursk

2008-11-14T21:33:19Z 2008-11-14T21:33:19Z

Programare în introducere Cmd pentru începători

-

Programare în Cmd (introducere pentru începători)

Aceasta este doar o introducere la comenzile cmd, nu judeca cu strictețe, articolul a fost scris pentru Novikov, cred că va fi util multor altora =)
Probabil că mulți oameni nici măcar nu bănuiesc că cmd este un shell universal,
care vă permite nu doar să administrați sistemul, ci și să programați!
Desigur, nivelul limbii nu este la fel de înalt ca, de exemplu, cu, dar totuși...

Mai întâi, să scriem un mic program care va scoate o linie scrisă într-o variabilă.
Mergem la unitatea C:\ și creăm ceva de genul program_1.cmd acolo (*.bat este posibil)
deschideți-l cu notepad și introduceți următoarele rânduri acolo:

program rem_1
cls
@echo dezactivat
culoarea 0A
set string=Bună lume!!!
ecou %string%

rem - folosit pentru a descrie comentarii
cls - dacă altcineva nu știe, aceasta este ștergerea ecranului
@echo off - dezactivați afișarea comenzilor pe ecran. Atenție la @
înainte de ECHO! Împiedică comenzile să fie repetate pe o linie separată.
culoare 0A - setați culoarea fundalului și a textului
set string=Bună lume!!! - set este folosit pentru a descrie variabile
echo %string% - afișează o variabilă, acordați atenție %%, asta
denotă că este într-adevăr o variabilă și nu un șir!

Am rezolvat codul, acum să ne uităm la rezultatul programului! Îl lansăm pentru execuție prin cmd:
program_1.cmd
Rezultatul execuției va fi, ați ghicit, Hellow World!!! Litere verzi strălucitoare pe fundal negru

Acum să complicăm puțin problema, adăugați o condiție la acest cod!

program rem_2
cls
@echo dezactivat
culoarea 0A
setați a=1
setați cronometrul=10
dacă %a%==1 (închidere /r -t %timer% -c „Te-ai încurcat”
) else (echo a!=1)

Cred că ai ghicit deja care va fi rezultatul. Comparăm valoarea scrisă la variabila „a” cu 1, dacă condiția este adevărată, atunci computerul se va reporni în 10 secunde, altfel ieșirea va citi că a!=1. Exemplul este banal și simplu,
Ei bine, cel puțin este de înțeles pentru mulți.

Acum să trecem la cicluri. Să ne uităm la cel mai elementar exemplu:
program rem_3
cls
@echo dezactivat
culoarea 0A
pentru /l %B în (0,1,10) face eco %B

Acest program va afișa numere într-o coloană, de la 0 la 10 în trepte de 1 =) totul este la fel de simplu ca...
Și acum puțin mai complicat, pentru că poate fi folosit în scopuri mai semnificative,
de exemplu, pentru a enumera fișiere, de exemplu puteți scrie în cmd:

pentru %B în (C:*.cmd) do (eco %B)

În schimb vei primi toate programele tale cu extensia *.cmd

Asemenea pentru buclă puteți itera prin directoare, de exemplu

pentru /d %B în (C:*) face eco %B

Va afișa toate directoarele de pe unitatea C:\ (Vă rugăm să rețineți că numai directoarele, nu subdirectoarele!)

Acum să scriem un program esențial care va selecta e-mailurile din baza de date și le va scrie într-un alt fișier.

(pentru /f „tokens=1-5” %A în (users.txt) face @echo %D) > emails.txt

De exemplu, baza noastră este „ideală”, într-un fel.