cmd — Создание своей команды для командной строки windows

Вопрос задан

Изменён 5 месяцев назад

Просмотрен 8k раз

Я часто использую командную строку, и почти каждый раз начинаю свои работу с перехода в папку с проектами. Это не очень удобно, можно ли как-то сделать свою команду которая будет переносить меня сразу в нужную папку?

  • windows
  • cmd

1

  • Зайдите в любую директорию, которая установлена как Path (Панель управления — Система — Дополнительные параметры системы — Параметры среды… — Path).
    Одной из таких директорий является C:\Windows\System32.
  • В данную директорию поместите/создайте файл с расширением
    .cmd
    /.bat, имя данного файла будет являться будущей командой.
  • Пропишите в данном файле все, что вам необходимо, например задать директорию:

    @ECHO OFF
    cd /D D:\Downloads
    

Все, можем проверять новую команду: Открываем консоль и пишем имя файла (у меня файл .test.cmd и по этому я пишу test).

Как вариант: Можно в отдельной папке, например (Z:\scripts), создать .bat скрипт, назвать его например project.bat и наполнить его содержимым:

cd path\to\project

После чего, нужно добавить путь Z:\scripts в переменную PATH в настройках переменных сред. И при вызове project в консоли, будет исполнятся содержимое файла project.bat

Можно просто в папку с cmd закинуть файл с командой, он также будет работать где угодно при любом запуске. Таким образом в cmd можно добавить сколько угодно команд.

Переходим в папку C:\Windows\System32 и называем файл так, как будем использовать команду, например projects. В нём нам надо будет написать слудующее:

@echo off
cd /d путь до твоей папки

Теперь когда ты будешь писать projects в cmd, тебя будет перенаправлять в папку. Ещё для удобства можно добавить команду:

start твоя папка 

Надо создать файл [ваша_команда].bat с форматом bat или cmd. Дальше напишите внутрь:

@echo off
[и пишите сюда, что будет выполнять команда]

Дальше перейдите по пути C:\Windows\System32 и перекиньте туда этот файл. Откройте командную строку и напишите название файла которого вы перекинули в C:\Windows\System32

Всё.

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Основные команды для сервера CS:GO – База знаний Timeweb Community

Илья Смолин

274K

3 комментария

Ни один игрок CS:GO не представляет себе матч без использования различных команд, благодаря которым можно улучшить качество игры. Использование консоли позволяет вводить команды для настройки мыши, внутриигрового радара, графики и прочих параметров. Мы также можем закупать различное оружие всего за несколько секунд, что немаловажно перед началом боя. На этом список команд не заканчивается, а только начинается. В сегодняшней статье мы рассмотрим основные команды для сервера CS:GO, а также разберемся, как их запустить в консольном окне.

Запускаем консоль в CS:GO

Существует несколько способов запуска консольного окна: в самой игре либо через ее параметры внутри Steam. В первом случае нам потребуется запустить игру и перейти в раздел «Настройки». Там находится подраздел «Параметры игры», в котором необходимо указать значение «Да» напротив пункта «Включить консоль разработчика». После активации параметра достаточно будет нажать на клавишу «Ё», чтобы активировать консольное окно.

Второй способ также довольно прост – необходимо в Стиме открыть настройки игры. Для этого находим CS:GO и кликаем по нему правой кнопкой мыши, затем переходим в раздел «Свойства…».

В отобразившемся окне нажимаем на кнопку «Установить параметры запуска…».

Для активации консоли потребуется ввести параметр «-console». Все последующие команды для повышения FPS и прочих параметров прописываются через пробел без каких-либо точек и запятых.

Как видите, запустить консольное окно совсем несложно – достаточно сделать несколько кликов, и уже можно вводить команды для КС:ГО. О них мы и поговорим далее, и начнем с самого главного – основных настроек игрового процесса.    

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Параметры сервера Counter-Strike: Global Offensive
  • mp_restartgame 1 — перезагрузка сервера.
  • bot_kick — отключение ботов.
  • bot_add_ct — подключение бота за СТ.
  • bot_add_t — подключение бота за Т.
  • mp_maxmoney 25000 — определяет лимит денежных средств.
  • mp_startmoney 2500 — назначает количество денежных средств в начале боя.
  • mp_warmup_end — завершение разминки.
  • mp_warmuptime 235 — указывает время разминки.
  • mp_limitteams 0 — убирает лимит игроков в командах.  
  • mp_autoteambalance 0 — выключает автобаланс в командах.
  • mp_roundtime 10 — используйте, если необходимо изменить время матча.
  • mp_maxrounds 200 — изменяет максимальное количество раундов.
  • mp_timelimit 40 — время матча в минутах.
  • mp_c4timer 30 — время до активации бомбы.
  • mp_freezetime 0 — убирает время заморозки в начале матча.
  • mp_buytime 2500 — определяет время закупки в секундах.
  • mp_buy_anywhere 1 — используйте команду, чтобы покупать оружие по всей карте.
  • ammo_grenade_limit_total 6 — возможность покупать неограниченное количество гранат.

Глобальные настройки сервера CS:GO
  • sv_cheats 1 — разрешает игрокам использовать читы.
  • sv_visiblemaxplayers 10 — максимальное количество игроков (в нашем случае 10).
  • sv_specnoclip 1 — позволяет игрокам в спектрах проходить сквозь стены и объекты.
  • sv_specspeed 1.5 — изменяет скорость в режиме спектра.
  • sv_forcepreload 1 — подключение игроков выполняется только после полной загрузки сервера.

Параметры компьютерной мыши
  • sensitivity 2.3 — определяет чувствительность мыши.
  • m_customaccel 0 — деактивирует ускорение.
  • m_customaccel_exponent 0 — убирает измерение коэффициента пропорциональности акселерации.
  • m_customaccel_max 1 — коэффициент пропорциональности акселерации.
  • m_customaccel_scale 0.02 — значение акселерации мыши по дефолту.
  • m_forward 1 — снаряжает множитель чувствительности управления мышью вперед.  
  • m_mouseaccel1 0 — ускоряет в два раза игровую мышь в (Windows).
  • m_mouseaccel2 0 — ускоряет в четыре раза игровую мышь (Windows).
  • m_mousespeed 1 — коэффициент ускорения игровой мышки (Windows).
  • m_pitch 0.022 — инверсия мышки.
  • m_rawinput 1 — использование этой команды разрешает прямое подключение мыши, благодаря которому игнорируются настройки ПУ в операционной системе.  
  • m_side 0. 2 — регулирует чувствительность скорости перемещения.
  • m_yaw 0.039 — контролирует множитель чувствительности скорости поворота влево-вправо.

Чит-команды
  • noclip — активирует или деактивирует возможность полета, прохождения через стены и объекты.
  • mat_wireframe 1 — активирует или деактивирует просмотр каркаса стен.
  • god — активирует или деактивирует режим бессмертия.
  • r_drawothermodels 2 — подключает возможность смотреть через стены.
  • r_drawothermodels 1 — убирает возможность смотреть через стены.

Команды для выдачи оружия через консоль

Винтовки
  • give weapon_m4a1 — снаряжает M4A4 без глушителя.
  • give weapon_m4a1_silencer — снаряжает M4A1 с глушителем.
  • give weapon_famas — снаряжает FAMAS.
  • give weapon_aug — снаряжает AUG.
  • give weapon_scar20 —снаряжает SCAR-20.
  • give weapon_awp — снаряжает AWP.
  • give weapon_ssg08 — снаряжает SSG-08.
  • give weapon_ak47 — снаряжает AK-47.
  • give weapon_galilar — снаряжает Galil AR.
  • give weapon_sg556 — снаряжает SG556.
  • give weapon_g3sg1 — снаряжает G3SG1.
  • give weapon_awp — снаряжает AWP.
  • give weapon_ssg08 — снаряжает SSG-08.

Пистолеты-пулеметы
  • give weapon_mp9 — снаряжает MP9.
  • give weapon_mp7 — снаряжает MP7.
  • give weapon_ump45 — снаряжает UMP-45.
  • give weapon_p90 — снаряжает P90.
  • give weapon_bizon — снаряжает ПП-19 Бизон.
  • give weapon_mac10 — снаряжает MAC-10.

Пистолеты
  • give weapon_usp_silencer — USP-S.
  • give weapon_hkp2000 — P2000.
  • give weapon_glock — Glock.
  • give weapon_elite — Dual Berettas.
  • give weapon_p250 — P250.
  • give weapon_fiveseven — Five Seven.
  • give weapon_cz75a — CZ75-Auto.
  • give weapon_tec9 — Tec-9.
  • give weapon_revolver — Revolver R8.
  • give weapon_deagle — Desert Eagle.

Тяжелое СТ и Т
  • give weapon_nova — снаряжает Nova.
  • give weapon_xm1014 — выдает XM1014.
  • give weapon_mag7 — снаряжает MAG-7.
  • give weapon_sawedoff — снаряжает Sawed-Off.
  • give weapon_m249 — выдает M249.
  • give weapon_negev — снаряжает Negev.

Экипировка
  • give weapon_knife — снаряжает ножом.
  • give weapon_c4 — дает бомбу C4.
  • give weapon_taser — выдает Zeus.
  • give item_defuser — снаряжает кусачками.
  • give item_vesthelm — снаряжает броней с каской.
  • give item_vest — снаряжает броней без каски.

Гранаты
  • give weapon_hegrenade — снаряжает осколочной гранатой.
  • give weapon_smokegrenade — снаряжает дымовой гранатой.
  • give weapon_flashbang — снаряжает световой гранатой.
  • give weapon_molotov — снаряжает коктейлем Молотова.
  • give weapon_incgrenade — снаряжает зажигательной гранатой.
  • give weapon_decoy — снаряжает ложной гранатой.

Команды для смены положения рук
  • cl_righthand 0 — положение оружия назначается в левую руку.
  • cl_righthand 1 — положение оружия назначается в правую руку.
  • viewmodel_presetpos 1 — стандартный вид оружия в руке.
  • viewmodel_presetpos 2 — увеличенный вид оружия в руке.
  • viewmodel_presetpos 3 — классический вид оружия в руке.
  • viewmodel_fov 57 — приближает и отдаляет оружие в значениях от 54 до 65.
  • viewmodel_offset_x — 0 позиция оружия и руки относительно оси X.
  • viewmodel_offset_y — 0 позиция оружия и руки относительно оси Y.
  • viewmodel_offset_z — 0 позиция оружия и руки относительно оси Z.

Графическая составляющая
  • mat_autoexposure_max 1 — определяет максимальную яркость экрана.
  • mat_autoexposure_min 0.8 — определяет минимальную яркость экрана.
  • mat_debug_postprocessing_effects 0 — отключение отображения алгоритмов в квадрантах экрана.
  • mat_disable_bloom 1 — убирает bloom-эффект.
  • mat_monitorgamma 2.2 — настройка гаммы, где 1.6 — светлый, 2.6 — темный.
  • mat_queue_mode 2 — активирует многоядерный рендеринг.
  • mat_savechanges — вносит настройки видео в реестр операционной системы.
  • mat_setvideomode 1366 768 1 — определяет разрешение экрана.
  • muzzleflash_light 0 — убирает динамический свет от вспышек.
  • r_cheapwaterend 0 — изменяет значение прорисовки дна и воды.
  • r_dynamic0 — настройка динамических отсветов от объектов.

Параметры радара
  • drawradar — активация радара
  • hideradar — используйте команду, чтобы спрятать радар.
  • cl_radar_always_centered 0 — центрирует карту.
  • cl_radar_scale 0.3 / 0.4 — позволяет изменить размер карты.
  • cl_radar_icon_scale_min 0.4 — определяет размер точек игроков на карте.

Сетевые параметры
  • net_channels 0 — показывает информацию о канале в консоли.
  • net_graph 1 — подключает панель информации о соединении.
  • net_graphheight 40 — определяет высоту net_graph панели.
  • net_graphmsecs 400 — изменяет скорость обновления блока.
  • net_graphpos 1 — местоположение net_graph.
  • net_graphproportionalfont 0.5 — позволяет изменить размер net_graph.
  • net_graphshowinterp 1 — отображает строку интерполяции.
  • net_graphshowlatency 1 — показывает ping и пакеты.
  • net_graphsolid 1 — убирает прозрачность лагомера.
  • net_graphtext 1 — подключает текст в блоке.
  • net_maxroutable 1160 — определяет максимальную фрагментацию в байтах на пакет.
  • net_scale 3 — изменяет размер графика.
  • rate 50000 — назначает количество байтов, которые клиент может получить от сервера за секунду.

Звуковой чат
  • voice_enable 1 — используйте, чтобы включить голосовой чат в игре.
  • voice_forcemicrecord 1 — используйте, если нужно записать свой голос.
  • voice_loopback 0 — использование данной команды дает возможность слышать свой голос во время разговоров.
  • voice_modenable 1 — подключает голосовой чат в моде.
  • voice_recordtofile 0 — деактивирует запись микрофона в файл.
  • voice_scale 1 — назначает уровень громкости для всех.
  • volume 0.8 — уровень громкости.
  • windows_speaker_config 1 — значение динамиков определяется как наушники.

Настройка интерфейса
  • hud_scaling 0.5 — определяет размер интерфейса.
  • hud_showtargetid 1 — включает отображение ника при наведении на игрока.
  • hud_takesshots 0 — деактивация автоматического скриншота в конце боя.

Budget-команды
  • budget_averages_window 0 — число фреймов для подсчета при отображении средней частоты кадров панели.
  • budget_background_alpha 0 — прозрачность панели.
  • budget_bargraph_range_ms 12.6666 — назначает границу диаграммы в секундах.
  • budget_history numsamplesvisible 0 — количество сегментов для отрисовки диаграммы.
  • budget_history_range_ms 5 — граница диаграммы в секундах.
  • budget_panel_height 184 — определяет высоту панели в пикселях.
  • budget_panel_width 522 — определяет ширину панели в пикселях.
  • budget_panel_x 0 — позиция x окна от левого края экрана.
  • budget_panel_y 50 — позиция y окна от левого края экрана.
  • budget_peaks_window 0 — количество фреймов для подсчета отображения окна статистики.
  • budget_show_averages 0 — выключает среднее значение в статистике.
  • budget_show_history 0 — выключает историю графики.
  • budget_show_peaks 0 — выключает отображения пиков в статистике.
  • bugreporter_uploadasync 0 — загружает приложения асинхронно.

Команды для ботов
  • bot_add — подключает бота в наименьшую команду.
  • bot_add_ct — подключает бота за контртеррористов.
  • bot_add_t — подключает бота за террористов.
  • bot_kick — удаляет всех ботов.
  • bot_kickBob — удаляет бота с указанным именем.
  • bot_kill — убивает всех ботов.
  • bot_zombie 1 — замораживает всех ботов.
  • bot_dont_shoot — прекращает стрельбу ботов.
  • bot_difficulty — позволяет настроить сложность ботов от 0 до 2.
  • bot_stop — остановка ботов.
  • bot_mimic 1 — боты начнут повторять действия игрока.
  • bot_mimic_yaw_offset 0 — боты перестанут повторять действия игрока.
  • bot_crouch 1 — боты начинают приседать.
  • bot_place — бот появляется напротив игрока.

Команды для повышения FPS в КС:ГО
  • net_graph 3 — включает отображение ФПС.
  • fps_max 205 — позволяет изменить максимальное количество ФПС.
  • func_break_max_pieces 0 — указывает количество осколков от объектов.

Заключение

Сегодня мы разобрали основные команды, которые будут незаменимы для каждого, кто хочет использовать весь потенциал игры. Акцентируйте внимание на те консольные команды для Counter-Strike: Global Offensive, с помощью которых вы сможете улучшить геймплей, и только потом экспериментируйте с другими. Но исходите из своих приоритетов, и тогда команды изменят ваш интерес к игре в лучшую сторону. Удачи!

Гейминг

Мы тут не в игры играем, а публикуем новости, обзоры и инструкции.

Рекомендуем

For — Циклические команды — Windows CMD

For — Циклические команды — Windows CMD — SS64.com
  • SS64
  • CMD
  • Практическое руководство

Условно выполнить команду несколько раз.

 синтаксис-ДЛЯ-файлов
       FOR %%parameter IN ( набор ) DO  команда 
   
 синтаксис-FOR-Files-Rooted at Path
       FOR  /R  [[диск:]путь] %%параметр IN (  набор  ) DO  команда 
   
 синтаксис-FOR-папки
       FOR  /D  %%параметр IN (  набор_папок  ) DO  команда 
   
 синтаксис-FOR-Список чисел
       FOR  /L  %%параметр IN (начало,шаг,конец) DO  команда 
   
 синтаксис-FOR-содержимое файла
       FOR  /F  ["опции"] %%параметр IN (набор имен файлов) DO  команда 
   
       FOR  /F  ["опции"] %%параметр IN ("Текстовая строка для обработки") DO  команда 
   
 синтаксис-FOR-Command Результаты
       FOR  /F  ["параметры"] %%параметр IN ("команда для обработки") DO  команда  

Действие команды FOR можно резюмировать как. ..

  • Взять набор данных
  • Сделать параметр FOR %%G равным некоторой части этих данных
  • Выполнить команду (необязательно используя параметр как часть команды).
  • Повторить для каждого элемента данных

Если вы используете команду FOR в командной строке, а не в пакетной программе, используйте только один знак процента: %G вместо %%G .

ДЛЯ Параметры

Первый параметр должен быть определен с использованием одного символа, например, буквы G.

FOR %%G IN …

На каждой итерации цикла FOR вычисляется предложение IN ( ….) и %%G устанавливается на другое значение

Если в результате этого пункта получается одно значение, то %%G устанавливается равным этому значению и выполняется команда.

Если предложение приводит к нескольким значениям, то для хранения каждого из них неявно определяются дополнительные параметры. Они автоматически назначаются в алфавитном порядке %%H %%I %%J . .. (неявное определение параметра)

Если параметр ссылается на файл, то можно использовать расширенную ссылку на переменную для извлечения имени файла/пути/даты/размера.

Конечно, вы можете выбрать любую букву алфавита, кроме %%G.

%%G — хороший выбор, поскольку он не конфликтует ни с одной из букв формата имени пути (a, d, f, n, p, s, t, x) и обеспечивает самый длинный ряд неконфликтующих букв для использования как неявные параметры.
G > H > I > J > K > L > M
Буквы формата чувствительны к регистру, поэтому использование заглавной буквы также является хорошим способом избежать конфликтов %%A, а не %%a.

Если вам нужно много букв параметров, полный список от младших до старших:
> ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ˆ _ ` a b c d e ж g h i j k l m n o p q r s t u v w x y z { | }

Начиная с %A, вы можете использовать 29 символов, прежде чем вам придется экранировать любые знаки препинания. [источник]

Использование переменных в цикле FOR

Переменные расширяются в начале цикла FOR и не обновляются до тех пор, пока не будет завершена вся секция DO.
В следующем примере подсчитываются файлы в текущей папке, но %count% всегда возвращает 1:

.

@эхо от
НАБОР=1
FOR /f «tokens=*» %%G IN (‘dir /b’) DO (
эхо %count%:%%G
установить /количество+=1 )

Чтобы обновить переменные в каждой итерации цикла, мы должны либо использовать EnableDelayedExpansion, либо использовать механизм CALL :subroutine, как показано ниже:

@эхо от
НАБОР=1
FOR /f «tokens=*» %%G IN (‘dir /b’) DO (вызов : подпрограмма «%%G» )
GOTO: eof

: подпрограмма
эхо %count%:%1
установить /количество+=1
ПЕРЕЙТИ: eof

Вложенные команды FOR

Команды FOR могут быть вложенными FOR %%G… DO (для %%U… do …)
при размещении команд выберите разные буквы для каждой части. тогда ты сможешь обратитесь к обоим параметрам в окончательной команде DO.

Пример выхода из внутреннего цикла двух вложенных циклов FOR см. на странице ВЫХОД.

Уровни ошибок

FOR сама по себе не устанавливает и не сбрасывает уровень ошибки, оставляя это на усмотрение команды звонят.
Единственным исключением является использование подстановочного знака, если подстановочный знак не соответствует ни одному файлу, то FOR вернет %ERRORLEVEL% = 5

.

FOR — это внутренняя команда.
Если расширения команд отключены, команда FOR будет поддерживают только базовый синтаксис без расширенных переменных: FOR %%parameter IN (set) DO команда [параметры команды]

Примеры

FOR /F «tokens=1-5» %%A IN («Это короткое предложение») DO @echo %%A %%B %%D

приведет к выводу: Это короткое

Создайте набор из 26 папок, по одной на каждую букву алфавита:

ДЛЯ %%G IN (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v ,w,x,y,z) DO (md C:\demo\%%G)

«Тот, кто не помнит прошлого, обречен на его повторение» — Джордж Сантаяна

Связанные команды

FOR — Зациклить набор файлов в одной папке.
FOR /R — Циклический просмотр файлов (рекурсивные подпапки) .
FOR /D — Перебрать несколько папок.
FOR /L — Перебрать диапазон чисел.
FOR /F — циклический просмотр элементов в текстовом файле.
FOR /F — циклический просмотр вывода команды.
Параметры/аргументы %~ опции.
FORFILES — Пакетная обработка нескольких файлов.
GOTO — указание пакетной программе перейти к помеченной строке.
IF-Условное выполнение команды.
Эквивалент PowerShell: ForEach-Object — цикл для каждого объекта в конвейере.
Эквивалентная команда bash (Linux): awk или for var в [списке]; сделать — развернуть перечислить и выполнить команд .


 

Copyright © 1999-2023 SS64.com
Некоторые права защищены

For /f — циклический просмотр текста — Windows CMD

For /f — циклический просмотр текста — Windows CMD — SS64.com
  • SS64
  • CMD
  • Практическое руководство

Циклическая команда: для набора файлов — условно выполнить команду для каждого элемента.

 Синтаксис
        FOR  /F  ["  options  "] %%  параметр  IN (  filenameset  ) DO  команда 
      
        FOR  /F  ["  options  "] %%  параметр  IN ("Текстовая строка для обработки") DO  команда 

Ключ
   параметры:
      delims=  xxx    Символ(ы) разделителя. По умолчанию для строк = пробел или TAB.

      skip=  n  Количество пропускаемых строк в начале файла.
                    (по умолчанию = 0)
 
      эол=; Символ в начале каждой строки для обозначения комментария
                   По умолчанию используется точка с запятой;

      жетоны =  n  Указывает, какие пронумерованные элементы следует читать из каждой строки
                  (по умолчанию = 1)

      usebackq Используйте альтернативный стиль цитирования:
                   - Вместо двойных кавычек используйте одинарные кавычки для «Текстовой строки для обработки».
                   - Используйте двойные кавычки для длинных имен файлов в « набор имен файлов ». 
                   - Используйте обратные кавычки для `команды для обработки`

     Набор имен файлов  Набор из одного или нескольких файлов, заключенных в круглые скобки (файл1,файл2).

     команда  Команда для выполнения, включая любые параметры.
                  Это может быть одна команда или если вы приложите ее
                  in (скобки), несколько команд, по одной на строку.

   %%  параметр  Заменяемый параметр:
                  в пакетном файле используйте %%G (в командной строке %G) 

FOR /F обработка текстового файла состоит из чтения файла, по одной строке текста за раз, а затем разбивает строку на отдельные элементы данных, называемые «токенами». Затем выполняется команда DO с параметром (параметрами), установленными на найденный маркер (ы).

Если вы хотите обрабатывать имена файлов, а не содержимое файлов, используйте вариант FOR /F команда_для_процесса с DIR /b в качестве команды.

Параметры FOR (%%A – %%Z)

Прочтите главную страницу введения FOR для получения полного описания назначения заменяемого параметра %%.
Параметры FOR используются во всех вариантах команды FOR, рекомендуется освоить написание базовой команды FOR, прежде чем пробовать более сложный вариант FOR/F.

По умолчанию /F разбивает каждую строку в файле на каждое пустое место » «, и все пустые строки пропускаются. Это поведение синтаксического анализа по умолчанию можно изменить, применив один или несколько параметров » options «. Параметры должны быть заключены «в кавычки»

В цикле FOR на видимость переменных влияет SETLOCAL EnableDelayedExpansion, по умолчанию изменения переменных в цикле не будут видны, пока цикл не завершится.

использоватьбэкк

Этот параметр полезен при работе с набором имен файлов . Это длинное имя файла, содержащее пробелы. Это позволяет заключать имя файла в двойные кавычки.
Поскольку для обозначения имени файла используются двойные кавычки, вместо двойных кавычек используются одинарные кавычки для обозначения текстовой строки и обратные кавычки для команды для обработки . На большинстве клавиатур символ обратной кавычки ` находится чуть ниже клавиши ESC.
На имена файлов, которые не содержат пробелов, можно ссылаться без использования кавычек.

Usebackq можно сократить до useback (недокументировано).

Пропустить

SKIP пропускает обработку ряда строк с начала файла.
SKIP включает пустые строки, но после завершения SKIP FOR /F игнорирует (не повторяет) пустые строки.

эол

Символ конца строки по умолчанию — точка с запятой ‘;’ когда команда FOR читает текстовый файл (или даже строку символов), любая строка, которая НАЧИНАЕТСЯ с символа eol, будет проигнорирована. Другими словами, это рассматривается как комментарий.
Используйте eol=X, чтобы изменить символ eol на X.

Часто вам нужно отключить эту функцию, чтобы обрабатывалась каждая строка вашего файла данных, теоретически «eol=» должна отключить эту функцию, но на практике это не работает правильно — она ​​установит для eol любое значение, символ, часто кавычка или символ пробела. = %%a in (file.txt) do… (см. форум для обсуждения этого)0012

Ни одна из опций не может быть повторена, если включить скажем «eol=# eol=@», то применяется только второй, «eol=@».

Делимы

Можно указать более одного разделителя, поэтому строку типа ‘abcd+efg+hijk;lmno;pqr’ можно разбить с помощью «delims=;+».

для /f «tokens=1,2,3,4,5 delims=;+» %%G в (filename.txt) выполнить эхо %%G %%H %%K

В качестве разделителя можно использовать практически любой символ, но они чувствительны к регистру.

разделители всегда должны быть последним элементом в параметрах строка «tokens=3 delims= «, а не «delims=  tokens=3»
Это связано с тем, что кавычки вокруг строки options выполняют двойную функцию в качестве разделителя для символа (символов) разделителя, что особенно важно, когда этот символ является пробелом.

Если вы не укажете разделители, по умолчанию будет «delims=»
Это отличается от разделителей по умолчанию для командной строки оболочки CMD (пробел, табуляция, запятая, равенство, точка с запятой). . 9″ %%G in (filename.txt) do echo %%G %%H %%I

Примечание: некоторые текстовые редакторы вводят символ TAB в виде набора пробелов.

Токены

tokens=2,4,6 приведет к обработке второго, четвертого и шестого элементов в каждой строке.

токенов=2-6 вызовут второй, третий, четвертый, пятый и шестой элементы на каждом строка для обработки.

tokens=* приведет к обработке всех элементов в каждой строке.

tokens=3* будет обрабатывать третий токен и 4-й + все последующие элементы, это также можно записать как tokens=3,*

Для каждого указанного маркера будет назначена соответствующая буква параметра. Буквы, используемые для токенов, чувствительны к регистру.

Если последним символом в строке tokens= является звездочка, то параметры выделяются для всего остального текста в строке.

В качестве токенов FOR можно использовать следующие символы ASCII:
ASCII 63–93 включительно, 31 токен: ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]
ASCII-код 95-123 включительно, 29 токенов: _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z {
(есть несколько других символов, которые можно использовать, но они требуют экранирования)

Одна команда FOR /F никогда не может анализировать более 31 маркера, для использования большего количества требуется обходной путь с несколькими командами FOR.

Числа, указанные в tokens=, автоматически сортируются, поэтому, например, tokens=5,7,1-3 и tokens=1,2,3,5,7 дают одинаковый результат.

Повторное совпадение одного и того же токена (токены=1,2,1) может привести к непредсказуемым результатам. Конечно, переменные токена можно использовать несколько раз: Echo %%G %%H %%G

Переменные токена FOR (или имена параметров) являются глобальными, поэтому в сложных скриптах, которые вызывают один оператор FOR из другого оператора FOR, вы можете ссылаться на оба набора параметров.

Приоритет/приоритет параметров команды FOR: usebackq > skip > delims > eol > tokens

Примеры

Скопируйте файлы, перечисленные в текстовом файле, в новое место назначения:

FOR /f «delims=» %%G в (files.txt) Скопируйте «\\source\folder\%%G» «H:\destination\%%G»

Предполагается, что files.txt содержит одно имя файла в каждой строке.

Извлечение данных из текстового файла, содержащего символы и запятые (но без пробелов и других знаков препинания):

Январь, Снежный, 02
Февраль, Дождливый, 15
March,Sunny,25

FOR /F «tokens=1,3 delims=,» %%G IN (weather. txt) DO @echo %%G %%H

Хитрая часть — разбить каждую строку на правильные токены, в этом случае я разделяю запятую ‘,’ это разбивает строку на 3 фрагмента текста, и мы вытаскиваем первый и третий элементы с «токенами = 1,3»

токен=1 (%%G) токен=2 токен=3 (%%H)
  (игнорируется)  
Январь   02
Февраль   15
Март   25

%%G объявляется в операторе FOR, а %%H неявно объявляется с помощью параметра tokens=.

Альтернативный способ получить те же данные:
FOR /F «tokens=1,2,3 delims=,» %%G IN (weather.txt) DO @echo %%G %%I

Разделение строки, содержащей пробелы.

Это можно сделать так же, как описано выше, заменив «delims=» на «delims=»

Можно указать параметры tokens= и/или delims= в любом порядке, но всякий раз, когда указываются и разделители, и токены, они должны быть разделены пробелом, этот пробел НЕ будет считаться токеном. По этой причине рекомендуется всегда размещать разделители в качестве последней опции перед закрывающей цитатой, гораздо проще увидеть, что происходит с одним пробелом (или без пробелов) в конце строки.

Разобрать текстовую строку

Строка текста будет обрабатываться так же, как одна строка ввода из файла, строка должна быть заключена в двойные кавычки (или одинарные кавычки с usebackq).

Вывести только дату из следующей строки

FOR /F «токены=4 разделителя=», %%G IN («депозит, 4500 123,4 долл. США, 31 августа 2021 г.») DO @echo Дата оплаты %%G

Анализ вывода команды:

FOR /F %%G IN (‘»C:\program Files\command.exe»‘) DO ECHO %%G

Разобрать содержимое файла:

FOR /F «tokens=1,2* delims=,» %%G IN (C:\MyDocu~1\mytex~1.txt) DO ECHO %%G

FOR /F «usebackq tokens=1,2* delims=,» %%G IN («C:\My Documents\my textfile. txt») DO ECHO %%G

Набор имен файлов

Чтобы указать точный набор файлов для обработки, например, все файлы .MP3 в папке, включая подпапки и отсортированные по дате, просто используйте команду DIR /b для создания списка имен файлов ~ и используйте этот вариант команды FOR синтаксис.

Юникод

Многие новые команды и утилиты (например, WMIC) выводят текстовые файлы в формате Unicode, они не могут быть прочитаны командой FOR, которая ожидает ASCII.
Чтобы преобразовать формат файла, используйте команду TYPE.

Уровень ошибки

FOR сама по себе не устанавливает и не сбрасывает уровень ошибки, оставляя это на усмотрение вызываемой команды .

FOR — это внутренняя команда.

«Все интуитивно понятно; это займет всего несколько дней, чтобы научиться, но затем это будет полностью интуитивно понятно» ~ Терри Пратчетт.