71 lines
4.1 KiB
XML
71 lines
4.1 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 680" role="img" aria-labelledby="title desc">
|
||
<title id="title">Как Windows PowerShell выбирает команду</title>
|
||
<desc id="desc">PowerShell получает блок окружения процесса с PATH и PATHEXT. Get-Command с параметром All показывает alias, функции и приложения в порядке выбора. Where.exe отдельно показывает файлы. Кодовая страница проверяется отдельной веткой.</desc>
|
||
<defs>
|
||
<linearGradient id="background" x1="0" y1="0" x2="1" y2="1">
|
||
<stop offset="0" stop-color="#151126"/>
|
||
<stop offset="1" stop-color="#07141e"/>
|
||
</linearGradient>
|
||
<marker id="arrow" markerWidth="11" markerHeight="11" refX="8" refY="5.5" orient="auto">
|
||
<path d="M0,0 L9,5.5 L0,11 Z" fill="#8c9eff"/>
|
||
</marker>
|
||
<style>
|
||
.card { fill: #211f3b; stroke: #5a65aa; stroke-width: 2; }
|
||
.file { fill: #132b36; stroke: #317c88; stroke-width: 2; }
|
||
.label { fill: #f6f5ff; font-family: Arial, sans-serif; font-size: 22px; font-weight: 700; }
|
||
.copy { fill: #d2d7f2; font-family: Arial, sans-serif; font-size: 16px; }
|
||
.small { fill: #b5c2e1; font-family: Arial, sans-serif; font-size: 14px; }
|
||
.code { fill: #aebdff; font-family: "Courier New", monospace; font-size: 15px; }
|
||
.teal { fill: #8de2d6; font-family: "Courier New", monospace; font-size: 15px; }
|
||
.line { fill: none; stroke: #8c9eff; stroke-width: 3; marker-end: url(#arrow); }
|
||
.dash { fill: none; stroke: #58bcb3; stroke-width: 2.5; stroke-dasharray: 8 7; marker-end: url(#arrow); }
|
||
</style>
|
||
</defs>
|
||
<rect width="720" height="680" rx="28" fill="url(#background)"/>
|
||
<text x="46" y="56" class="label">Разрешение имени команды</text>
|
||
<text x="46" y="84" class="copy">Поиск бинарника и отображение текста — два разных пути.</text>
|
||
|
||
<rect x="232" y="118" width="256" height="82" rx="16" class="card"/>
|
||
<text x="258" y="153" class="label">PowerShell-процесс</text>
|
||
<text x="258" y="180" class="code">node --version</text>
|
||
|
||
<rect x="58" y="266" width="232" height="136" rx="16" class="card"/>
|
||
<text x="80" y="304" class="label">Блок среды</text>
|
||
<text x="80" y="334" class="code">PATH</text>
|
||
<text x="80" y="360" class="code">PATHEXT</text>
|
||
<text x="80" y="386" class="small">унаследован от родителя</text>
|
||
|
||
<rect x="430" y="266" width="232" height="136" rx="16" class="card"/>
|
||
<text x="452" y="304" class="label">Кодовая страница</text>
|
||
<text x="452" y="334" class="code">chcp</text>
|
||
<text x="452" y="360" class="code">OutputEncoding</text>
|
||
<text x="452" y="386" class="small">читаемость вывода</text>
|
||
|
||
<path d="M319 200 V236 H174 V254" class="line"/>
|
||
<path d="M400 200 V236 H546 V254" class="dash"/>
|
||
|
||
<rect x="48" y="470" width="192" height="138" rx="16" class="file"/>
|
||
<text x="70" y="508" class="label">Get-Command</text>
|
||
<text x="70" y="536" class="teal">alias / function</text>
|
||
<text x="70" y="560" class="teal">cmdlet / app</text>
|
||
<text x="70" y="588" class="small">порядок PowerShell</text>
|
||
|
||
<rect x="264" y="470" width="192" height="138" rx="16" class="file"/>
|
||
<text x="286" y="508" class="label">where.exe</text>
|
||
<text x="286" y="536" class="teal">node.exe</text>
|
||
<text x="286" y="560" class="teal">node.cmd</text>
|
||
<text x="286" y="588" class="small">файлы в PATH</text>
|
||
|
||
<rect x="480" y="470" width="192" height="138" rx="16" class="file"/>
|
||
<text x="502" y="508" class="label">Проверка</text>
|
||
<text x="502" y="536" class="teal">путь + версия</text>
|
||
<text x="502" y="560" class="teal">текст вывода</text>
|
||
<text x="502" y="588" class="small">одна гипотеза</text>
|
||
|
||
<path d="M174 402 V446 H144 V458" class="line"/>
|
||
<path d="M174 402 V446 H360 V458" class="line"/>
|
||
<path d="M546 402 V446 H576 V458" class="dash"/>
|
||
<path d="M240 540 H252" class="line"/>
|
||
<path d="M456 540 H468" class="line"/>
|
||
</svg>
|