Ограничение строки командной строки (Cmd. exe)
В этой статье рассматривается ограничение длины строк, используемых из командной строки в командной строке (Cmd.exe). Он также предоставляет методы, которые можно использовать для обхода этого ограничения.
Область применения: Windows Server 2012 R2, Windows Server 2008 R2 с пакетом обновления 1 (SP1), Windows 7 с пакетом обновления 1 (SP1)
Исходный номер базы знаний: 830473
Дополнительные сведения
Максимальная длина строки, которую можно использовать в командной строке, составляет 8191 символ.
Это ограничение применяется к:
- командная строка
- отдельные переменные среды, наследуемые другими процессами, такими как переменная PATH
- все расширения переменных среды
Если для выполнения пакетных файлов используется командная строка, это ограничение также применяется к пакетной обработке файлов.
Примеры
В следующих примерах показано, как это ограничение применяется к командам, которые выполняются в командной строке, и командам, используемым в пакетном файле.
-
В командной строке общая длина следующей командной строки не может содержать более 8191 символа:
cmd.exe /k ExecutableFile.exe parameter1, parameter2. parameterN
cmd.exe /k ExecutableFile.exe parameter1, parameter2. parameterN
c:> set EnvironmentVariable1 = EnvironmentVariable2 EnvironmentVariable3
ExecutableFile.exe parameter1 parameter2
Как обойти ограничение
Чтобы обойти ограничение, используйте один или несколько из следующих методов в соответствии с вашей ситуацией:
-
Измените программы, для которых требуются длинные командные строки, чтобы они могли использовать файл, содержащий сведения о параметрах, а затем включить имя файла в командную строку. Например, ExecutableFile.exe Parameter1 Parameter2. ParameterN вместо использования командной строки в пакетном файле измените программу, чтобы использовать командную строку, аналогичную следующей командной строке, где ParameterFile — это файл, содержащий необходимые параметры (parameter1 parameter2. ParameterN:
ExecutableFile.exe c:\temp\ParameterFile.txt
- Используйте более короткие имена для папок и файлов.
- Уменьшите глубину деревьев папок.
- Храните файлы в меньшем количество папок, чтобы в переменной среды PATH было необходимо меньше папок.
- Изучите возможные методы, которые можно использовать для уменьшения зависимости PATH для поиска .dll файлов.
Обратная связь
Были ли сведения на этой странице полезными?
Полезные команды в cmd на Windows
Программистам часто приходится работать в консоли — например, чтобы запустить тестирование проекта, закоммитить новый код на Github или отредактировать документ в vim. Всё это происходит так часто, что все основные действия с файлами становится быстрее и привычнее выполнять в консоли. Рассказываем и показываем основные команды, которые помогут ускорить работу в терминале под OS Windows.
Для начала нужно установить терминал или запустить командную строку, встроенную в Windows — для этого нажмите Win+R и введите cmd . Терминал часто встречается и прямо в редакторах кода, например, в Visual Studio Code.
Чтобы ввести команду в консоль, нужно напечатать её и нажать клавишу Enter .
Содержимое текущей папки — dir
Выводит список файлов и папок в текущей папке.
C:\content-server>dir Том в устройстве C имеет метку SYSTEM Серийный номер тома: 2C89-ED9D Содержимое папки C:\content-server 06.10.2020 00:41 . 06.10.2020 00:37 .circleci 16.07.2020 16:04 268 .editorconfig 16.07.2020 16:04 10 .eslintignore 16.07.2020 16:04 482 .eslintrc 06.10.2020 00:37 .github 16.07.2020 16:04 77 .gitignore 06.10.2020 00:41 assets 06.10.2020 00:41 gulp 16.07.2020 16:10 379 gulpfile.js 16.07.2020 16:10 296 320 package-lock.json 16.07.2020 16:10 751 package.json 16.07.2020 16:04 509 README.md
Открыть файл
Чтобы открыть файл в текущей папке, введите его полное имя с расширением. Например, blog.txt или setup.exe.
Перейти в другую папку — cd
Команда cd без аргументов выводит название текущей папки.
Перейти в папку внутри текущего каталога:
C:\content-server>cd assets C:\content-server\assets>
Перейти на одну папку вверх:
C:\content-server\assets>cd .. C:\content-server>
Перейти в папку на другом диске:
c:\content-server>cd /d d:/ d:\>
Чтобы просто изменить диск, введите c: или d: .
Создать папку — mkdir или md
Создаём пустую папку code внутри папки html :
d:\html>mkdir coded:\html>dir Содержимое папки d:\html 03.11.2020 19:23 . 03.11.2020 19:23 .. 03.11.2020 19:25 code 0 файлов 0 байт 3 папок 253 389 438 976 байт свободно
Создаём несколько пустых вложенных папок — для этого записываем их через косую черту:
d:\html>mkdir css\js d:\html>dir Том в устройстве D имеет метку DATA Серийный номер тома: 0000-0000 Содержимое папки d:\html 03.11.2020 19:23 . 03.11.2020 19:23 .. 03.11.2020 19:25 code 03.11.2020 19:29 css
Создаётся папка css , внутри которой находится папка js . Чтобы проверить это, используем команду tree . Она показывает дерево папок.
Удалить папку — rmdir или rd
Чтобы удалить конкретную папку в текущей, введите команду rmdir :
d:\html\css>rmdir js
При этом удалить можно только пустую папку. Если попытаться удалить папку, в которой что-то есть, увидим ошибку:
d:\html\css>d:\html>rmdir css Папка не пуста.
Чтобы удалить дерево папок, используйте ключ /s . Тогда командная строка запросит подтверждение перед тем, как удалить всё.
d:\html>rmdir css /s css, вы уверены [Y(да)/N(нет)]? y
Показать дерево папок — tree
В любом момент мы можем увидеть структуру папок. Для этого используется команда tree .
d:\html>tree Структура папок тома DATA Серийный номер тома: 0000-0000 D:. ├───code └───css └───js
Если вы хотите посмотреть содержимое всего диска, введите tree в корне нужного диска. Получится красивая анимация, а если файлов много, то ещё и немного медитативная.
Удаление файла — del или erase
Команда для удаления одного или нескольких файлов.
d:\html>del blog.txt
Переименование файла — ren или rename
Последовательно вводим ren , старое и новое имя файла.
d:\html>dir Содержимое папки d:\html 03.11.2020 19:23 . 03.11.2020 19:23 .. 03.11.2020 19:59 0 blag.txt d:\html>ren blag.txt blog.txt d:\html>dir Содержимое папки d:\html 03.11.2020 19:23 . 03.11.2020 19:23 .. 03.11.2020 19:59 0 blog.txt
Команды одной строкой
Очистить консоль — cls .
Информация о системе — systeminfo .
d:\html>systeminfo Имя узла: DESKTOP-6MHURG5 Название ОС: Майкрософт Windows 10 Pro Версия ОС: 10.0.20246 Н/Д построение 20246 Изготовитель ОС: Microsoft Corporation Параметры ОС: Изолированная рабочая станция Сборка ОС: Multiprocessor Free
Информация о сетевых настройках — ipconfig .
d:\html>ipconfig Настройка протокола IP для Windows Адаптер Ethernet Ethernet 2: Состояние среды. . . . . . . . : Среда передачи недоступна. DNS-суффикс подключения . . . . . :
Список запущенных процессов — tasklist .
c:\>tasklist Имя образа PID Имя сессии № сеанса Память ========================= ======== ================ =========== ============ System Idle Process 0 Services 0 8 КБ System 4 Services 0 2 688 КБ Secure System 72 Services 0 23 332 КБ …
Справка по командам — help
Команда help без аргументов выводит список всех возможных команд. help вместе с именем команды выведет справку по этой команде.
d:\html>help tree Графическое представление структуры папок или пути. TREE [диск:][путь] [/F] [/A] /F Вывод имён файлов в каждой папке. /A Использовать символы ASCII вместо символов национальных алфавитов.
В этой статье приведены не все команды и не все их возможности, но вы всегда можете воспользоваться командой help и узнать о том, что ещё может командная строка.
Больше статей о фронтенде и работе в айти в телеграм-канале.
Материалы по теме
- 10 горячих клавиш VS Code, которые ускорят вашу работу
- Полезные команды для работы с Git
- Полезные команды для работы с Node. js
CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Интересно. А какова была цель-то? И почему именно «for»?
4 Ответ от smaharbA 2012-09-05 00:41:32
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
start "" /i /b cmd /q /v:on /c "for /l %x in (0,0,0) do (ping -n 1 -w 1000 0.0.0.1 > nul & title !date! !time!)"
Я конечно далек от мысли. (с)
5 Ответ от alexii 2012-09-05 00:47:57
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
smaharbA, всё равно не понятно. Поясните словами, пожалуйста.
6 Ответ от smaharbA 2012-09-05 00:50:57 (изменено: smaharbA, 2012-09-05 00:52:09)
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)

часы в заголовке командной строки, можно конечно и стартануть пакетник, но подумалось как из самой строки
позырил свои «болванки» пакетников и обнаружил в них for /l %x in (0,0,0)
навеяло увиденной темой про powershell и часы в заголовке
Я конечно далек от мысли. (с)
7 Ответ от alexii 2012-09-05 01:31:24
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)

smaharbA, спасибо, ясно. Я так и предполагал. У меня, правда, эти часы «стоят» , потому решил уточнить.
cmd.exe /q /v:on /c "for /l %x in (0,0,0) do (ping -n 1 -w 1000 127.0.0.1> nul & title !date! !time!)"
8 Ответ от smaharbA 2012-09-05 01:45:38
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
там суть в start «» /b из командной строки
Я конечно далек от мысли. (с)
9 Ответ от alexii 2012-09-05 07:42:01
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Шут его знает. В оригинальном виде часы у меня просто замирали в начальном состоянии.
10 Ответ от smaharbA 2012-09-05 08:04:44 (изменено: smaharbA, 2012-09-05 08:06:42)
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
идея была в том, что бы запустить работающие часы которые не будут препятствовать интерактивной работе
может в каких системах и не отрабатывает
у меня отрабатывает и при запуске в командном интерпретаторе и если запустить в фаре, мигает только в фаре при переходе по каталогам и в момент начала просмотра/редактирования файлов
Я конечно далек от мысли. (с)
11 Ответ от Аскет 2012-09-06 03:48:13
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)

Ох ты какой трюк. Работает
Достойно Коллекции.
12 Ответ от Arigato 2012-12-16 21:17:01
- Arigato
- Разработчик
- Неактивен
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Когда запускаю эти часы, то avp.exe (Касперский) загружает процессор почти на 50%, закрываю окно консоли с часами, загрузка падает до 0%. Странная реакция.
13 Ответ от wisgest 2013-01-07 02:23:31 (изменено: wisgest, 2013-01-07 02:37:43)
- wisgest
- Разработчик
- Неактивен










Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
У меня эти часы стояли, но лишь теперь понял почему. Возможно, у alexii та же причина. Просто у меня CMD.EXE сразу запускается с ключом /V (через ярлык), поэтому текущее значение !date! !time! подставлялось в командную строку уже при запуске. А вот, если экранировать восклицательные знаки
start "" /i /b cmd /q /v:on /c "for /l %x in (0,0,0) do (ping -n 1 -w 1000 0.0.0.1 > nul & title ^!date^! ^!time^!)"
то работает независимо от того, была включена перед этим отложенная подстановка или нет.
(Ну, или так
start "" /i /b cmd /q /c "for /l %x in (0,0,0) do (ping -n 1 -w 1000 0.0.0.1 > nul & call title ^%date^% ^%time^%)"
Можно и в Коллекцию.
14 Ответ от smaharbA 2013-01-07 20:49:35
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Я конечно далек от мысли. (с)
15 Ответ от Aскет 2013-01-09 03:14:48
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Arigato, грузит систему — пинг [самопинг?] в качестве паузы (кстати основательно).
А каперский — как вытекающее.
Писал я как-то для замены этих неудобств процедуру — концептуальную фишку (чуть более точнее и с градацией до милисекунд) в качестве паузы.
Надо будет попозже в коллекцию закинуть.
16 Ответ от alexii 2013-01-09 06:37:16
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Arigato, грузит систему — пинг [самопинг?] в качестве паузы (кстати основательно).
Не вытекающее. Это и есть причина.
17 Ответ от Aскет 2013-01-09 10:05:11
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Это когда как — смотря в какой ситуации и на какой машинке.

А причина или следствие, кто его знает.
18 Ответ от wisgest 2013-01-10 05:29:38
- wisgest
- Разработчик
- Неактивен










Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Aскет пишет:
грузит систему — пинг [самопинг?] в качестве паузы (кстати основательно).
0-2% — это основательно?
Aскет пишет:
Писал я как-то для замены этих неудобств процедуру — концептуальную фишку (чуть более точнее и с градацией до милисекунд) в качестве паузы.
19 Ответ от Aскет 2013-01-10 07:34:22 (изменено: Aскет, 2013-01-11 06:27:56)
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Бывает что куллер процессора начинает изрядно гудеть (вероятно — угнетает фаервол) и доставляет неудобства.

Чтобы Вы в очередной раз, в порыве конгнитивного диссонанса и соблимированной злобы (накопленной за пол-года мучений от борьбы с моей грандиозной эНЛПятиной) обгадили мой пусть даже высакоинтеллектуальный, пусть ДэХаЕшный и сверхконцептуальный, но всё же «банный стыд»?
Зачем же. Да и прав что-то нехватает чтоб в Коллекцию «гадить». ))
20 Ответ от Aскет 2013-01-10 07:51:02 (изменено: Aскет, 2013-01-10 07:59:55)
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
21 Ответ от Aскет 2013-01-10 07:53:51 (изменено: Aскет, 2013-01-10 08:03:53)
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)

А давайте лучше устроим конкурс (тест Айзека)) — я поясняю суть концепта, а вы предложите свои варианты решения второй части задачи. А-ля «мозговой штурм».
Думаю наберётся несколько решений. Может у кого-то будет и пооптимальнее и поинтереснее чем у меня.
Суть проста: start /wait . .
Остаётся лишь подобрать подходящую комбинацию команд, которая отрабатывалась бы за определённое время (1s. или N-ms), но главное чтобы была стабильность и без нагрузки на ресурсы.
Варианты?
22 Ответ от wisgest 2013-01-10 17:03:40 (изменено: wisgest, 2013-01-10 17:13:38)
- wisgest
- Разработчик
- Неактивен










Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Aскет пишет:
в порыве конгнитивного диссонанса и соблимированной злобы, накопленной за пол-года мучений моей грандиознейшой эНэЛПятиной, обгадили мой пусть даже высакоинтеллектуальный, ДэХаЕшный
Из всех слов понял только «пол-года», да и то не понял: как ты их насчитал?
Во-вторых, моя злоба (которой нет) не играет никакого значения:
В очередной раз вы попытались скомпрометировать грандиозного Аскета и настроить против него участников. Чтож, Вам повезло — повёлся даже модератор, питающий ко мне непрофессианальную злобу.
Вот вы то и есть настоящий мистификатор и провокатор.
— как будто мои намерения оправдали бы твои ошибки и флуд в Коллекции.
Aскет пишет:
Да и прав не хватает чтоб в Коллекцию «гадить».
Правильно, не надо гадить. Пиши здесь, мы посмотрим.
Aскет пишет:
Суть проста: start /wait . .
… но главное чтобы была стабильность и без нагрузки на ресурсы.
START /WAIT нужно, если вызывается неконсольное приложение, значит — внешняя программа; а это всё равно обращение к диску, т.е. нагрузка на ресурсы.
Но, думаю, ты просто блефуешь.
23 Ответ от Aскет 2013-01-11 07:09:23 (изменено: Aскет, 2013-01-11 07:28:58)
Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)

Ну вот, wisgest опять завалил тест Айскета уже с первой попытки, даже не начав его решать.

> . если вызывается неконсольное приложение.
Ну с такой железной логикой («If-Then-Else») очень сложно поспорить.

> значит — внешняя программа
Вообще говоря, командный интерпретатор cmd.exe, за исключением скудного набора встроенных ф-ций for,if,call. основан на вызове внешних программ (т.е. команд). Это так, на заметку.
p.s. start/w/b echo Я НЕвнешнее, ниразу НЕнеконсольное app.
24 Ответ от wisgest 2013-01-11 16:30:47
- wisgest
- Разработчик
- Неактивен










Re: CMD/BAT: Бесконечный цикл в for без меток (Идеи ?)
Aскет пишет:
start/w/b echo Я НЕвнешнее, ниразу НЕнеконсольное app.
START/W/B APP.EXE — если APP.EXE консольное, что-то не вижу преимуществ перед простым вызовом APP.EXE (может, изменение приоритета?).
START/W/B INNER_COMMAND — это на самом деле
START/W/B %ComSpec% /K INNER_COMMAND — т.е. никуда не годится.
Как сделать матричный дождь в командной строке
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 44 человек(а).
Количество просмотров этой статьи: 180 377.
В этой статье:
Многим людям нравится визуальный эффект в виде «осыпающихся» символов в фильме «Матрица». В этой статье мы расскажем вам, как создать такой визуальный эффект с помощью командной строки.
![]()
Запустите программу «Блокнот».
![]()
-
echo %random% %random% %random% %random% %random% %random% %random%