<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Some stuff (Записи о windows)</title><link>https://psss.site/</link><description></description><atom:link href="https://psss.site/categories/windows.xml" rel="self" type="application/rss+xml"></atom:link><language>ru</language><copyright>Contents © 2026 &lt;a href="mailto:none@example.com"&gt;None&lt;/a&gt; 
&lt;br/&gt;
Все материалы доступны как &lt;a rel="license" href="http://creativecommons.org/publicdomain/zero/1.0/"&gt;
общественное достояние CC0 1.0 Universal (CC0 1.0) Public Domain Dedication&lt;/a&gt;.
</copyright><lastBuildDate>Sat, 10 Oct 2026 15:26:38 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>QEMU run</title><link>https://psss.site/posts/qemu-run/</link><dc:creator>None</dc:creator><description>&lt;p&gt;Скрипт для запуска qemu с типовыми ключами (и образом CD в качестве 
опционального параметра).&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="ch"&gt;#!/bin/bash&lt;/span&gt;

&lt;span class="c1"&gt;# Имя файла образа жесткого диска&lt;/span&gt;
&lt;span class="nv"&gt;IMG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;./img/main_disk.img

&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[[&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$OSTYPE&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"linux-gnu"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;]]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;then&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;mkdir&lt;span class="w"&gt; &lt;/span&gt;-p&lt;span class="w"&gt; &lt;/span&gt;tmp
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nv"&gt;CMDLINE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;qemu-system-x86_64
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nv"&gt;OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"-cpu qemu64 -enable-kvm -cpu host -hdb fat:rw:./tmp"&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nv"&gt;CMDLINE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;qemu-system-x86_64
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nv"&gt;OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"-cpu qemu64"&lt;/span&gt;
&lt;span class="k"&gt;fi&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-gt&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;then&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"external iso as cdrom &lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="nv"&gt;CDROM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;-cdrom&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-boot&lt;span class="w"&gt; &lt;/span&gt;d
&lt;span class="k"&gt;else&lt;/span&gt;
&lt;span class="nv"&gt;CDROM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;
&lt;span class="k"&gt;fi&lt;/span&gt;

&lt;span class="nv"&gt;$CMDLINE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-hda&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$IMG&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nv"&gt;$CDROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$OPTS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-m&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;8192&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-vga&lt;span class="w"&gt; &lt;/span&gt;cirrus&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-net&lt;span class="w"&gt; &lt;/span&gt;nic,model&lt;span class="o"&gt;=&lt;/span&gt;rtl8139&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-net&lt;span class="w"&gt; &lt;/span&gt;user&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-usbdevice&lt;span class="w"&gt; &lt;/span&gt;tablet&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-vga&lt;span class="w"&gt; &lt;/span&gt;virtio
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Для начального создания образа диска можно использовать:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;qemu-img&lt;span class="w"&gt; &lt;/span&gt;create&lt;span class="w"&gt; &lt;/span&gt;-f&lt;span class="w"&gt; &lt;/span&gt;qcow2&lt;span class="w"&gt; &lt;/span&gt;main_disk.img&lt;span class="w"&gt; &lt;/span&gt;20G
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Если надо упаковать каталог &lt;code&gt;tmp&lt;/code&gt; в iso-образ, например,
чтобы подсунуть в качестве cdrom при запуске &lt;code&gt;qemu&lt;/code&gt;, то сделать можно так:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;mkisofs&lt;span class="w"&gt; &lt;/span&gt;-R&lt;span class="w"&gt; &lt;/span&gt;-J&lt;span class="w"&gt; &lt;/span&gt;-o&lt;span class="w"&gt; &lt;/span&gt;dat.iso&lt;span class="w"&gt; &lt;/span&gt;tmp/*
&lt;/pre&gt;&lt;/div&gt;</description><category>linux</category><category>misc</category><category>windows</category><guid>https://psss.site/posts/qemu-run/</guid><pubDate>Tue, 10 Jun 2025 12:52:29 GMT</pubDate></item><item><title>Windows Batch files</title><link>https://psss.site/posts/windows-batch-files/</link><dc:creator>None</dc:creator><description>&lt;h3&gt;Файлы с тем же путём, где расположен сам bat-файл&lt;/h3&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;echo&lt;/span&gt; off
&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;: Path to this file itself&lt;/span&gt;
&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;PP&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;%~dp0&lt;/span&gt;
&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;: Do something on file *doc.txt* which saved in the same folder&lt;/span&gt;
do something &lt;span class="nv"&gt;%PP%&lt;/span&gt;doc.txt &lt;span class="nv"&gt;%*&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Файлы с тем же именем, но другим расширением (или без него), что и сам bat-файл&lt;/h3&gt;
&lt;p&gt;Например, такой bat-файл подходит для запуска bash-скрипта с тем же именем,
но без расширения:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;echo&lt;/span&gt; off
&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;NM&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;%~n0&lt;/span&gt;
bash &lt;span class="nv"&gt;%NM%&lt;/span&gt; &lt;span class="nv"&gt;%*&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Файлы с тем же путём и с тем же именем, что вызывающий bat-файл&lt;/h3&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;echo&lt;/span&gt; off
&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;PP&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;%~dp0&lt;/span&gt;
&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;NM&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;%~n0&lt;/span&gt;
&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;: Run python script with same name as .bat file&lt;/span&gt;
python &lt;span class="nv"&gt;%PP%%NM%&lt;/span&gt;.py &lt;span class="nv"&gt;%*&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Пробел в конце переменной&lt;/h3&gt;
&lt;p&gt;Создать пустую переменную и через пробел подставить её в другую переменную.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;EMPTY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;NINJA_STATUS&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;[&lt;span class="se"&gt;%%&lt;/span&gt;p &lt;span class="se"&gt;%%&lt;/span&gt;f/&lt;span class="se"&gt;%%&lt;/span&gt;t] &lt;span class="nv"&gt;%EMPTY%&lt;/span&gt;

ninja &lt;span class="nv"&gt;%*&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Выйти из файла если возникла ошибка в команде&lt;/h3&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;command &lt;span class="p"&gt;||&lt;/span&gt; &lt;span class="k"&gt;echo&lt;/span&gt; ERROR &lt;span class="p"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;exit&lt;/span&gt; /b &lt;span class="nv"&gt;%errorlevel%&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Функции&lt;/h3&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;echo&lt;/span&gt; off
&lt;span class="k"&gt;SETLOCAL&lt;/span&gt;
&lt;span class="k"&gt;CALL&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nl"&gt;MyFunction&lt;/span&gt; 55 , 1
&lt;span class="k"&gt;EXIT&lt;/span&gt; /B &lt;span class="nv"&gt;%ERRORLEVEL%&lt;/span&gt;

&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nl"&gt;MyFunction&lt;/span&gt;
&lt;span class="k"&gt;echo&lt;/span&gt; The value of parameter 1 is &lt;span class="nv"&gt;%~1&lt;/span&gt;
&lt;span class="k"&gt;echo&lt;/span&gt; The value of parameter 2 is &lt;span class="nv"&gt;%~2&lt;/span&gt;
&lt;span class="k"&gt;EXIT&lt;/span&gt; /B 0
&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Обработка параметров&lt;/h3&gt;
&lt;p&gt;Если запустить &lt;code&gt;for /?&lt;/code&gt; в командной строке, то там будет, 
в том числе, описание расширенной обработки параметров.
Частично эти сведения уже использованы в примерах выше.
Цитата:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="n"&gt;Операции&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;подстановки&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;ссылок&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;на&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;переменные&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;команды&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;FOR&lt;/span&gt;
&lt;span class="n"&gt;также&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;расширены.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;Допускается&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;применение&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;следующих&lt;/span&gt;
&lt;span class="n"&gt;синтаксических&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;конструкций:&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~I         - из переменной %I удаляются обрамляющие кавычки (")&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~fI        - переменная %I расширяется до полного имени файла&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~dI        - из переменной %I выделяется только имя диска&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~pI        - из переменной %I выделяется только путь к файлу&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~nI        - из переменной %I выделяется только имя файла&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~xI        - из переменной %I выделяется расширение имени файла&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~sI        - полученный путь содержит только короткие имена&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~aI        - переменная %I расширяется до атрибутов файла&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~tI        - переменная %I расширяется до даты /времени файла&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~zI        - переменная %I расширяется до размера файла&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;%~$ПУТЬ:I   - проводится поиск по каталогам, заданным в&lt;/span&gt;
&lt;span class="w"&gt;                         &lt;/span&gt;переменной&lt;span class="w"&gt; &lt;/span&gt;среды&lt;span class="w"&gt; &lt;/span&gt;ПУТЬ&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;и&lt;span class="w"&gt; &lt;/span&gt;переменная&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;%I&lt;/span&gt;
&lt;span class="w"&gt;                         &lt;/span&gt;заменяется&lt;span class="w"&gt; &lt;/span&gt;на&lt;span class="w"&gt; &lt;/span&gt;полное&lt;span class="w"&gt; &lt;/span&gt;имя&lt;span class="w"&gt; &lt;/span&gt;первого&lt;span class="w"&gt; &lt;/span&gt;найденного
&lt;span class="w"&gt;                         &lt;/span&gt;файла&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;Если&lt;span class="w"&gt; &lt;/span&gt;переменная&lt;span class="w"&gt; &lt;/span&gt;ПУТЬ&lt;span class="w"&gt; &lt;/span&gt;не&lt;span class="w"&gt; &lt;/span&gt;определена&lt;span class="w"&gt; &lt;/span&gt;или
&lt;span class="w"&gt;                          &lt;/span&gt;в&lt;span class="w"&gt; &lt;/span&gt;результате&lt;span class="w"&gt; &lt;/span&gt;поиска&lt;span class="w"&gt; &lt;/span&gt;не&lt;span class="w"&gt; &lt;/span&gt;найден&lt;span class="w"&gt; &lt;/span&gt;ни&lt;span class="w"&gt; &lt;/span&gt;один&lt;span class="w"&gt; &lt;/span&gt;файл&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;                          &lt;/span&gt;то&lt;span class="w"&gt; &lt;/span&gt;этот&lt;span class="w"&gt; &lt;/span&gt;модификатор&lt;span class="w"&gt; &lt;/span&gt;заменяется&lt;span class="w"&gt; &lt;/span&gt;на&lt;span class="w"&gt; &lt;/span&gt;пустую
&lt;span class="w"&gt;                          &lt;/span&gt;строку&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="n"&gt;При&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;объединении&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;нескольких&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;операторов&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;можно&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;получить&lt;/span&gt;
&lt;span class="n"&gt;следующие&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;результаты:&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="n"&gt;dpI&lt;/span&gt;&lt;span class="w"&gt;       &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;переменная&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;I&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;раскрывается&lt;span class="w"&gt; &lt;/span&gt;в&lt;span class="w"&gt; &lt;/span&gt;имя&lt;span class="w"&gt; &lt;/span&gt;диска&lt;span class="w"&gt; &lt;/span&gt;и&lt;span class="w"&gt; &lt;/span&gt;путь
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="n"&gt;nxI&lt;/span&gt;&lt;span class="w"&gt;       &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;переменная&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;I&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;раскрывается&lt;span class="w"&gt; &lt;/span&gt;в&lt;span class="w"&gt; &lt;/span&gt;имя&lt;span class="w"&gt; &lt;/span&gt;файла&lt;span class="w"&gt; &lt;/span&gt;и&lt;span class="w"&gt; &lt;/span&gt;его
&lt;span class="w"&gt;                       &lt;/span&gt;расширение
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="n"&gt;fsI&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;переменная&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;I&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;раскрывается&lt;span class="w"&gt; &lt;/span&gt;в&lt;span class="w"&gt; &lt;/span&gt;полный&lt;span class="w"&gt; &lt;/span&gt;путь&lt;span class="w"&gt; &lt;/span&gt;с
&lt;span class="w"&gt;                       &lt;/span&gt;короткими&lt;span class="w"&gt; &lt;/span&gt;именами
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="n"&gt;dp&lt;/span&gt;$ПУТЬ&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;I&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;проводится&lt;span class="w"&gt; &lt;/span&gt;поиск&lt;span class="w"&gt; &lt;/span&gt;по&lt;span class="w"&gt; &lt;/span&gt;каталогам&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;заданным&lt;span class="w"&gt; &lt;/span&gt;в
&lt;span class="w"&gt;                       &lt;/span&gt;переменной&lt;span class="w"&gt; &lt;/span&gt;среды&lt;span class="w"&gt; &lt;/span&gt;ПУТЬ&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;и&lt;span class="w"&gt; &lt;/span&gt;переменная&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;I&lt;/span&gt;
&lt;span class="w"&gt;                       &lt;/span&gt;раскрывается&lt;span class="w"&gt; &lt;/span&gt;в&lt;span class="w"&gt; &lt;/span&gt;имя&lt;span class="w"&gt; &lt;/span&gt;диска&lt;span class="w"&gt; &lt;/span&gt;и&lt;span class="w"&gt; &lt;/span&gt;путь&lt;span class="w"&gt; &lt;/span&gt;к&lt;span class="w"&gt; &lt;/span&gt;первому
&lt;span class="w"&gt;                       &lt;/span&gt;найденному&lt;span class="w"&gt; &lt;/span&gt;файлу&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="n"&gt;ftzaI&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;переменная&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;I&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;раскрывается&lt;span class="w"&gt; &lt;/span&gt;в&lt;span class="w"&gt; &lt;/span&gt;строку&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;подобную
&lt;span class="w"&gt;                       &lt;/span&gt;выдаваемой&lt;span class="w"&gt; &lt;/span&gt;командой&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DIR&lt;/span&gt;


&lt;span class="n"&gt;В&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;приведенных&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;выше&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;примерах&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;переменные&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;I&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;и&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;ПУТЬ&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;можно&lt;/span&gt;
&lt;span class="n"&gt;заменить&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;на&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;другие&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;допустимые&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;значения.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;Синтаксическая&lt;/span&gt;
&lt;span class="n"&gt;конструкция&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;с&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;символами&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;заканчивается&lt;span class="w"&gt; &lt;/span&gt;допустимым&lt;span class="w"&gt; &lt;/span&gt;именем
&lt;span class="n"&gt;переменной&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;цикла&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;FOR.&lt;/span&gt;
&lt;span class="n"&gt;Для&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;имен&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;переменных&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;рекомендуется&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;использовать&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;заглавные&lt;/span&gt;
буквы&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;например&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;I&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;что&lt;span class="w"&gt; &lt;/span&gt;делает&lt;span class="w"&gt; &lt;/span&gt;эту&lt;span class="w"&gt; &lt;/span&gt;конструкцию&lt;span class="w"&gt; &lt;/span&gt;более&lt;span class="w"&gt; &lt;/span&gt;удобной
&lt;span class="n"&gt;для&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;чтения&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;и&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;предотвращает&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;ошибочное&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;принятие&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;их&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;за&lt;/span&gt;
модификаторы&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;которые&lt;span class="w"&gt; &lt;/span&gt;не&lt;span class="w"&gt; &lt;/span&gt;различают&lt;span class="w"&gt; &lt;/span&gt;регистр&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Полезные ссылки: &lt;a href="https://dl.gsu.by/doc/use/ntcmds.htm"&gt;https://dl.gsu.by/doc/use/ntcmds.htm&lt;/a&gt;, &lt;a href="https://github.com/Lifailon/Batch-Commands"&gt;https://github.com/Lifailon/Batch-Commands&lt;/a&gt;&lt;/p&gt;</description><category>windows</category><guid>https://psss.site/posts/windows-batch-files/</guid><pubDate>Sun, 17 Jan 2021 22:42:12 GMT</pubDate></item></channel></rss>