Командные файлы Windows

Передача параметров командному файлу.

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

params.bat FIRST second “two words”
Параметры командной строки, содержащие пробелы должны заключаться в двойные кавычки.

При обработке входных параметров необходимо знать, были ли они вообще заданы в командной строке. Для проверки наличия каких-либо входных параметров, передаваемых
командному файлу, можно проверить, является ли значение переменной %1
пустым, что можно сделать, заключив ее, например в двойные кавычки, и проверив полученный результат на наличие этих кавычек, следующих подряд:

REM пробел текст
Строки, начинающиеся с REM пробел, считаются комментариями и командным процессором игнорируются.

Своя команда для создания новых файлов.

В составе операционной системы Windows нет специальной команды для создания нового файла, но без нее можно легко обойтись несколькими способами:

Копирование с клавиатуры в файл

COPY CON myfile.txt

При выполнении этой команды данные с клавиатуры (стандартное устройство CON – консоль) будут заноситься в файл myfile.txt текущего каталога. Нажатие клавиши F6 или комбинации CTRL-Z завершит вывод.

Комбинация перенаправления ввода и перенаправления вывода:

При выполнении этой команды, как и в первом случае, используется копирование
с консоли в файл, но вместо ручного ввода данных с клавиатуры используется ввод с
несуществующего файла (устройства) xyz. Система выдаст сообщение, о том, что такого
устройства или файла
не существует, но пустой файл myfile.txt будет успешно создан.

Обычно, для создания пустого файла используется команда копирования из фиктивного устройства nul в файл. Использование устройства nul позволяет обойти стандартные операции ввода-вывода, которые для него реально не выполняются. При выполнении копирования с фиктивного устройства в файл будет создан пустой файл без каких-либо сообщений об ошибке.

COPY NUL myfile.txt

При работе в командной строке часто приходится создавать новые пустые
файлы, поэтому, стоит подготовить свой командный файл (например, с
именем nf.bat),

а имя нового создаваемого файла передавать ему в качестве параметра при
запуске.

Для удобства использования, можно поместить этот командный файл в системный каталог
(например, в C:windowssystem32) или любой другой, существующий в путях
поиска, задаваемых значением переменной PATH). Теперь, в командной строке, находясь в любом каталоге можно одной командой создавать пустые файлы.

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

Расширение командного файла (.bat) можно не набирать и команда еще больше упрощается:

В тексте командного файла присутствует проверка, задано ли имя
создаваемого файла в командной строке (if “%1%” EQU “” goto error), и если не
задано – выводится сообщение об ошибке и командный файл завершает
свою работу.

В плане совершенствования функционала, можно добавить в этот командный файл проверку
на существование файла с именем, указанным в командной строке и предупреждением пользователя о его возможной перезаписи.

Команды одной строкой

Очистить консоль — cls

Информация о системе — systeminfo

Информация о сетевых настройках — ipconfig

Список запущенных процессов — tasklist

12 ответов

Вы просто используете это: if not exist “C:VTS” mkdir C:VTS он создаст каталог, только если папка не существует.

Обратите внимание, что эта проверка существования возвращает значение true, только если VTS существует и является каталогом. Если его там нет или он есть в виде файла, будет запущена команда mkdir, которая должна вызвать ошибку. Вы также можете проверить, существует ли VTS в виде файла.

3 Фев 2017 в 00:54

Просто позвоните mkdir C:VTS, несмотря ни на что. Он просто сообщит, что подкаталог уже существует.

Изменить: Как уже отмечали другие, это устанавливает% ERRORLEVEL%, если папка уже существует. Если ваш пакет (или любой вызывающий его процесс) не заботится об уровне ошибки, этот метод прекрасно работает. Поскольку в вопросе не упоминалось об избежании уровня ошибки, этот ответ совершенно верен. Он удовлетворяет потребности в создании папки, если она не существует, и не перезаписывает содержимое существующей папки. В противном случае следуйте ответу Мартина Шапендонка.

23 Май 2017 в 14:47

Создайте папку с именем VTS и выведите A subdirectory or file TEST already exists в NUL.

Измените букву диска на C:, mkdir, выведите ошибку на NUL и выполните следующую команду.

4 Окт 2016 в 12:07

set myDIR=LOG
IF not exist %myDIR% (mkdir %myDIR%)

17 Апр 2014 в 03:11

19 Дек 2013 в 21:44

Ты можешь использовать:

if not exist “C:VTS” mkdir “C:VTS”

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

Это должно сработать для вас:

IF NOT EXIST “path oyourolder” md path oyourolder

Однако есть и другой метод, но он может быть не на 100% полезен:

Этот создает папку, но не показывает вывод ошибки, если папка существует. Я настоятельно рекомендую вам использовать первый. Второй – если у вас есть проблемы с другим.

23 Июн 2020 в 03:26

Вам нужно создать папку, если она не существует, а? Ну, вот пример того, как это сделать.

Сначала я проверяю, не существует ли папка, введя этот код:

if not exist “FOLDERPATH” (
mkdir “FOLDERPATH”
)

Итак, если я запускаю код. А если папка уже существует, ничего не сделает. Вот что мы делаем, если папка уже существует:

if exist “FOLDERPATH” (
rmdir /s /q “FOLDERPATH”
mkdir “FOLDERPATH”
)

Теперь, если я запущу код, он заново создаст папку, если она уже существует. Это пример кода:

Надеюсь, это может помочь с вашей проблемой.

i Mr Oli i
4 Июл 2021 в 20:30

Лично я бы сделал так:

Давайте разберемся с этим:

  • if not exist “C:YourFolderPathHere”: это проверяет папку. Обратная косая черта () после пути очень важна, иначе он будет искать файл, а не папку.
  • mkdir C:YourFolderPathHere: создает каталог, если приведенное выше утверждение верно.

Вот тот же код, но с комментариями:

Однострочный вариант:
if not exist “C:YourFolderPathHere” mkdir C:YourFolderPathHere

Однако не проверял, поэтому не цитируйте меня.

i Mr Oli i
4 Июл 2021 в 15:27

Вы можете сделать этот пример:

8 Авг 2021 в 11:33

Я создал это для своего сценария, который я использую в своей работе для Eyebeam.

9 Окт 2013 в 07:20

Использование переменных окружения в командных файлах.

При работе с командными файлами невозможно обойтись без переменных окружения (environments) – переменных, значения которых определяют среду, в которой выполняются команда или пакетный файл. Часто их называют переменными среды. Значения, принимаемые этими переменными формируются при
загрузке Windows, регистрации пользователя в системе, старте или завершении
некоторых приложений, и, кроме того, могут быть заданы с помощью специальной
команды
SET переменная = значение

SETX переменная = значение

Первая присваивает значение переменной, действующее до завершения текущей сессии командной строки. Вторая – значение, действующее постоянно.

Как уже упоминалось выше, значение, присвоенное какой-либо переменной, доступно для обработки в командной строке или в командном файле с использованием ее имени, заключенного в знаки процента – % . Системные переменные позволяют получить сведения об аппаратной и программной среде, в которой выполняется командный файл, что позволяет реализовать его исполнение на разных компьютерах, независимо от их конкретной конфигурации и пользовательских настроек. Например, в командном файле используется вывод содержимого системного каталога C:Windows :

DIR C:Windows

Алгоритм, реализуемый данным командным файлом, будет прекрасно выполняться до тех пор пока не встретится компьютер с Windows установленной не на диск C:, а например, на D:. Чтобы этого не происходило, желательно использовать системную переменную WINDIR, принимающую значение пути системного каталога:

На практике, с помощью команды SET обычно задается и модифицируется путь поиска исполняемых программ
– переменная окружения PATH.

SET PATH=C:Windows; C:windowssystem32
Данная команда определяет, что поиск исполняемых файлов будет выполняться в
каталоге C:Windows и, если результат неуспешен, в
C:windowssystem32

При необходимости выполнить программу, например, myedit.exe, размещенную в
каталоге C:NewProgs необходимо либо указать полный путь исполняемого файла, либо сделать текущим каталогом каталог с программой и использовать только его имя. Если в командной строке не задан полный путь, а только имя
исполняемого файла – myedit.exe

:/>  Как отключить автоматическое соединение с Wi-Fi на андроид?. в чём заключается проблема

то сначала будет выполняться поиск файла myedit.exe в текущем каталоге, и если
он не будет найден – в каталогах, список которых определяется значением переменной
PATH. Символ ; является разделителем элементов в списке путей поиска.
Если в приведенном примере, текущим каталогом не является
C:NewProgs, и в остальных каталогах, заданных значением переменной
PATH, нет исполняемого файла myedit.exe, то попытка его запуска
завершится ошибкой. Однако, если модифицировать значение переменной PATH, добавив в нее требующийся каталог, то указание полного пути исполняемого файла становится необязательным.
Команда

изменит текущее значение PATH,
добавив каталог C:NewProgs в начало списка. Для добавления каталога в конец списка используется несколько иная конструкция:

SET PATH=%path%; C:NewProgs

Выполнение команды SET без параметров позволяет получить текущие
значения переменных окружения:

NUMBER_OF_PROCESSORS=1 – количество процессоров

OS=Windows_NT- тип ОС

Path=C:WINDOWSsystem32; C:WINDOWS;C:Program FilesFar – путь поиска исполняемых файлов.

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE; .JS;.JSE;.WSF;.WSH – расширения для исполняемых файлов.

PROCESSOR_ARCHITECTURE=x86 – архитектура процессора.

PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 1, AuthenticAMD – идентификатор процессора.

PROCESSOR_LEVEL=6 – уровень (номер модели) процессора.

PROCESSOR_REVISION =0801 – версия процессора.

ProgramFiles=C:Program Files – путь к папке “Program Files”

SystemDrive=C: – буква системного диска.

SystemRoot= C:WINDOWS – каталог ОС Windows.

Значения некоторых переменных по команде SET не отображаются, хотя и присутствуют в системе. В основном, это переменные, принимаемые значения которых динамически изменяются:

%CD% – Принимает значение строки текущего каталога.

%DATE% – Принимает значение текущей даты.

%TIME% – Принимает значение текущего времени.

%RANDOM% – Принимает значение случайного десятичного числа в диапазоне 1 -32767.

%ERRORLEVEL% – Принимает текущее значение кода завершения задачи ERRORLEVEL

%CMDEXTVERSION% – Принимает значение версии командного процессора CMD.EXE для расширенной обработки команд.

%CMDCMDLINE% – Принимает значение строки, которая вызвала
командный процессор.

Значения, принимаемые переменными окружения, могут быть расширены с помощью
специального признака – символа ” ~ “, что позволяет получить их частичное
значение, или изменить его подменой какой-либо части. Практические примеры использования расширений переменных будут рассмотрены ниже.

Подробное описание команд с примерами их использования имеется в разделе Список команд CMD Windows.

Команды CMD

Строки командных файлов могут содержать как команды самого
процессора команд CMD, так и имена исполняемых модулей (программ или командных файлов).

– исполняемый файл ping.exe с параметром yandex.ru. Расширение .exe можно не указывать, и данная команда может быть записана так:

Список стандартных команд можно получить, введя команду:

Справочную информацию по конкретной команде можно получить, указав ее название в качестве параметра команды HELP:

HELP Имя команды

В русифицированной версии Windows необходимо учитывать, что в среде командного процессора символы национального алфавита отображаются в DOS-кодировке, в соответствии с кодовой страницей (code page) 866. При необходимости, для переключения между кодовыми страницами Windows и DOS используется команда

CHCP номер страницы
– использовать кодовую страницу 866 (DOS)
– использовать кодовую страницу 1251 (WINDOWS)

Внешний вид окна CMD.EXE (консоли Windows) можно изменить с помощью команды

В качестве аргументов для команды используются 2 шестнадцатеричные цифры, задающие цвет фона и цвет символа.

– символы белого цвета на черном фоне (используется по умолчанию).

– черные символы на белом фоне.

– светло-желтые символы на черном фоне.

– подсказка для команды COLOR.

Способы запуска командной строки

Ссылки на материалы по настройке командной строки и приемах работы с ней размещены в конце страницы.

Содержимое текущей папки — dir

Выводит список файлов и папок в текущей папке.

Как ещё ускорить работу

«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

Создание папки с текущими датой и временем

Здесь всё аналогично предыдущему способу. Мы так же работаем с ключом , создавая в нём вложенные каталоги «Создать папку с датой и временем» и «Command», смотрите скриншот, только содержимое скрипта будет немного иное.

Командные файлы Windows

Командные файлы Windows

Командные файлы Windows

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

Командные файлы Windows

Командные файлы Windows

Единственное, что может омрачить всю эту картину — появление на долю секунды окна командной строки. Если вас это не смущает, пожалуйста, можете оставить всё как есть. Если же хотите, чтобы создание папок выполнялось в скрытом режиме, воспользуйтесь тем самым -скриптом, о котором мы упомянули выше.

В первую очередь скрипт нужно отредактировать.

Откройте его Блокнотом и замените выделенный желтым маркером путь к соответствующему -скрипту вашим путем.

Командные файлы Windows

Теперь, помните, что мы делали в подразделах command в редакторе реестра? Правильно — прописывали в качестве значения параметра по умолчанию полный путь к CMD-файлам с командами создания папок.

Так вот, вам нужно будет заменить пути к CMD-файлам путями к сценарию , обязательно добавив перед путем в кавычках . Смотрите скриншот ниже.

Командные файлы Windows

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

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

Разница лишь в том, что при создании папки обычным путем Windows 10 автоматически выделяет ее имя, предлагая ввести собственное название, тогда как при создание каталога с помощью скрипта этого не происходит. К слову, поправить можно и это, найдя функцию, отвечающую за выделение только что созданного каталога и эмуляцию нажатия F2.

Справка по командам — help

Команда help без аргументов выводит список всех возможных команд. help вместе с именем команды выведет справку по этой команде.

В этой статье приведены не все команды и не все их возможности, но вы всегда можете воспользоваться командой help и узнать о том, что ещё может командная строка.

Удалить папку — rmdir или rd

Чтобы удалить конкретную папку в текущей, введите команду rmdir.

При этом удалить можно только пустую папку. Если попытаться удалить папку, в которой что-то есть, увидим ошибку.

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

Перейти в другую папку — cd

Команда cd без аргументов выводит название текущей папки.

Перейти в папку внутри текущего каталога

Перейти на одну папку вверх

Перейти в папку на другом диске

Чтобы просто изменить диск, введите c: или d:

Больше статей о фронтенде и работе в айти в телеграм-канале.

Справочник по командам CMD Windows

Данная страница представляет собой самый полный документ в русскоязычном сегменте Интернет, содержащий список команд командной строки всех версий Windows. Наименования подавляющего большинства команд являются ссылками и ведут на страницы с подробным их описанием и примерами использования. В разных версиях ОС семейства Windows набор поддерживаемых команд, их параметры командной строки, синтаксис и отображение результатов выполнения могут различаться. Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать в другой, или входить в состав дополнительных средств, как например, Resource Kit или Software Development Kit.

На данной странице представлено описание не только внутренних команд CMD, но и стандартных утилит командной строки, входящих в состав конкретных версии операционной системы (ОС) семейства Windows. Некоторые из приведенных команд устарели, и больше не поддерживаются разработчиком или не имеют смысла в современных операционных системах, что отмечается в описании команды.

APPEND – позволяет программам открывать файлы данных из указанных
папок так, как будто они находятся в текущей папке.

ARP – просмотр и изменение таблиц ARP (Address Resolution Protocol)

ASSOC – просмотр или изменение сопоставлений расширений файлов приложениям

AT – управление планировщиком задач

ATTRIB – изменение атрибутов файлов

Auditpol – управление политиками аудита.

BASH – командная оболочка BASH в подсистеме Windows для Linux (WSL).

:/>  Nero - программное обеспечение, аппаратное обеспечение, скачивание файлов

BCDBOOT – копирование в системный раздел файлов загрузки и создание
нового хранилища конфигурации загрузки (BCD)

BCDEDIT – редактирование хранилища данных конфигурации загрузки (BCD)

BOOTCFG – редактирование параметров загрузки в файле boot.ini

BOOTREC – восстановление загрузочных записей и конфигурации загрузки Windows

BOOTSECT – редактирование загрузочных секторов для обеспечения загрузки NTLDR или BOOTMGR

BREAK – включить или выключить обработку комбинации клавиш CTRL+C в DOS

CACLS – редактирование списков управления доступом к файлам (ACL – Access Control List)

CALL – вызов из командного файла подпрограмм или других командных файлов

CD – смена каталога (Change Directory)

CHGLOGON – изменение настроек сервера терминалов, аналогично CHANGE LOGON

CHGPORT – изменение настроек сервера терминалов, аналогично CHANGE PORT

CHCP – просмотр или изменение текущей кодовой страницы

CHKDSK – проверка диска (Check Disk)

CHKNTFS – проверка признака ошибки файловой системы и управление проверкой диска при загрузке Windows

CHOICE – реализация пользовательского ввода в командном файле

CIPHER – отображение или изменение шифрования файлов на томах NTFS

CLEARMGR – управление очисткой дисков Windows

CLIP – перенаправление вывода утилит командной строки в буфер обмена Windows

CLS – очистка экрана в командной строке

CMD – запуск новой копии интерпретатора командной строки

CMDKEY – создание, отображение, удаление и сохранение имен пользователей и паролей

COLOR – изменение цвета текста и фона в окне CMD

COMMAND – запуск новой копии интерпретатора командной строки MS-DOS

COMP – сравнение содержимого файлов

COMPACT – управление сжатием и распаковкой файлов в разделах NTFS

CONVERT – преобразование файловой системы из FAT в NTFS

COPY – копирование файлов и каталогов

Cscript – сервер сценариев Windows с консольным интерфейсом

DATE – отображение или изменение даты

DEBUG – запуск отладчика DOS-Windows XP

DEFRAG – дефрагментация диска

DEL – удаление одного или нескольких файлов

DevCon – управление устройствами в командной строке

DIANTZ — тоже что и MAKECAB, создание архивов .cab.

DIR – отображение списка файлов и каталогов

DISKCOMP – сравнение содержимого двух гибких дисков

DISKCOPY – копирование содержимого одного гибкого диска на другой

DISKPART – управление разделами и дисками из командной строки

DISM – управление компонентами образрв WIM.

DISPDIAG – вывод дампов с диагностической информацией о графической подсистеме.

DJOIN – автономное присоединение компьютера к домену.

DOSKEY – редактирование и повторный вызов команд Windows, создание макросов DOSKey

DRIVERQUERY – отобразить информацию об установленных драйверах.

DxDiag – средство диагностики DirectX.

EDIT – запуск текстового редактора

ENDLOCAL – конец локальных изменений переменных окружения в командном файле

ERASE – аналогично команде DEL – удаление файлов

ESENTUTL – обслуживание баз данных Extensible Storage Engine для Windows

EVENTCREATE – запись сообщения в журнал событий Windows

EXIT – выход из процедуры или командного файла

EXPAND – распаковка сжатых файлов CAB-файлов.

EXTRACT – извлечение содержимого, распаковка CAB-файлов в Windows (EXTRAC32)

FC – сравнение содержимого файлов

FIND – поиск строки символов в файле

FINDSTR – поиск строк в файлах с использованием регулярных выражений

FOR – организация циклической обработки результатов выполнения других команд, списков, и строк в текстовых файлах

FORFILES – выполнение указанной команды для каждого файла из заданной группы

FORMAT – форматирование диска

FSUTIL – управление файловой системой

FTP – консольный FTP-клиент

FTYPE – просмотр и изменение расширений файлов и сопоставленных им приложений

GETMAC – отображение физического адреса сетевого адаптера (MAC-адреса)

GOTO – команда безусловного перехода в командном файле

GPRESULT – отображение результирующей политики (RSoP)

GPUPDATE – обновление групповых политик.

HELP – вызов справки командной строки Windows

HOSTNAME – отображение имени компьютера

iCACLS – управление списками доступа (ACL)

IF – оператор условного выполнения команд в пакетном файле

IPCONFIG просмотр и управление конфигурацией протокола IP

LABEL – редактирование меток тома дисков

LicensingDiag – диагностика лицензирования Windows 10 и старше

LOGMAN – управление монитором оценки производительности системы

LOGOFF – завершение сеанса пользователя

MAKECAB – создание сжатых файлов формата CAB

MBR2GPT – преобразование дисков MBR в GPT

MEM – вывод справки об использовании памяти в MS-DOS

MD – создание нового каталога

MKLINK – создание символической ссылки на файл или каталог

MODE – конфигурирование системных устройств в среде CMD

MORE – постраничный вывод в консоли

MOUNTVOL – управление точками монтирования томов

MOVE – перемещение файлов и каталогов

MOVEFILE – перемещение или удаление занятых файлов при следующей перезагрузке

MSG – отправка сообщений пользователям.

MSTSC – подключение к удаленному рабочему столу.

NBTSTAT – просмотр статистических данных NETBIOS через TCP/IP (NetBT)

NET – управление ресурсами локальной сети

NETCFG – отображение и изменение конфигурации компонентов сети

NETSH – командная сетевая оболочка (Network Shell)

NETSTAT – отображение статистики сетевых соединений

OPENFILES – управление открытыми по сети или локально файлами

PATH – отображение или изменение путей поиска исполняемых файлов

PATHPING – трассировка маршрута с возможностью оценки качества участков трассы

PAUSE – пауза при выполнении командного файла

PING утилита проверки доступности узла

PKGMGR – управление программными пакетами Windows

PNPUTIL – конфигурирование драйверов устройств PnP

POPD – возврат в каталог, ранее запомненный с помощью команды PUSHD

POWERCFG – настройка параметров системы электропитания Windows

PowerShell_ISE – запуск интегрированной среды разработки сценариев PowerShell

PRINT – печать текстового файла

PROMPT – изменение строки приглашения в консоли

PUSHD – сохранить текущий путь каталога и перейти в указанный

PSR – записать действия пользователя в Windows 7/8.1/10 (Problem Steps Recorder)

QPROCESS – отобразить состояние процессов

QUERY – опросить состояние процессов и сеансов пользователей

RASDIAL – управление сеансами удаленного доступа

RASPHONE – управление сеансами удаленного доступа

RD – удаление каталога

REAGENTC – адимнистрирование стреды восстановления Windows

RECOVER – восстановление файлов на поврежденном диске

REG – утилита командной строки для работы с реестром Windows

REGEDIT – импорт и экспорт данных реестра Windows

REGSVR32 – регистрация или отмена регистрации DLL

REGINI – управление доступом к разделам реестра

RENAME (REN) – переименование файлов

REPLACE – замена или добавление файлов в катологах

RESET – сброс сеанса удаленного рабочего стола (RDP сессии)

RMDIR – удаление каталога

ROBOCOPY – утилита резервного копирования и синхронизации каталогов (Robust File and Folder Copy)

ROUTE – управление таблицей маршрутизации

RUNAS – запуск приложения от имени другого пользователя

RUNDLL32 – запуск DLL в качестве приложения

SC – управление службами Windows (Service Control)

SCHTASKS – управление планировщиком задач

SCLIST – отображение списка системных служб

SET – отображение и изменение переменных среды окружения Windows

SETLOCAL – установка локальных переменных в командном файле

SETX – утилита для создания системных переменных

SFC – проверка и восстановление системных файлов Windows

SHIFT сдвиг входных параметров для командного файла

SHUTDOWN – выключение или перезагрузка компьютера

SLEEP – задержка по времени в пакетном файле

SLMGR – управление лицензированием программного обеспечения Windows

SORT – сортировка строк в текстовом файле

START – запуск приложения или командного файла

SUBST – назначение (отмена назначения) каталогу буквы диска

SxSTrace – диагностическое средство трассировки компонент системы

SYSTEMINFO – отображение информации о системе

TAKEOWN – изменение владельца файла или каталога

TASKKILL – завершение процессов на локальной или удаленной системе.

TASKLIST – отображение списка выполняющихся приложений и служб Windows

TIME – отображение и установка системного времени

TELNET – telnet-клиент Windows

TFTP – TFTP-клиент Windows

TIMEOUT – задержка в пакетных файлах

TITLE – изменение заголовка окна CMD.EXE

TRACERT – трассировка маршрута к удаленному узлу

TREE – отображение структуры каталога в графическом виде

TSCON – подключение к сессии удаленного рабочего стола (RDP).

TSDISCON – отключение сессии удаленного рабочего стола (RDP).

TSKILL – завершение процессов, адаптированное для среды сервера терминалов (RDP).

:/>  Где найти скачанные файлы - шпаргалка для самых распространенных браузеров

TYPE – вывод на экран содержимого текстового файла

TypePerf – вывод сведений о производительности на экран или в журнал

TZUTIL – управление часовыми поясами в среде Windows

VaultCmd – администрирование учетных данных Windows.

VER – отображение версии операционной системы

VERIFIER – тестирование драйверов Windows.

VERIFY – управление режимом проверки записываемых файлов

VOL – вывод данных метки тома

W32TM – управление службой времени Windows

WAITFOR – организация обмена сигналами между компьютерами

WEVTUTIL – управление событиями в Windows

WHERE – определение места расположения файлов

WHOAMI – вывод имени текущего пользователя

WINDIFF – сравнение содержимого файлов

Winget – установка, обновление, перенос и удаление приложений в Windows 10 и более поздних версий.

WinMgmt – обслуживание инструментария управления Windows (WMI)

WINRM – удаленное управление Windows из командной строки

WINRS – удаленная командная строка (Remote Shell)

WINSAT – средство проверки производительности Windows

WMIC – выполнение команды WMI в командной строке

WSCollect – получить CAB-файл с копиями журналов Windows 10 на рабочем столе

Wscript – сервер сценариев Windows с графическим интерфейсом

WUSA – автономная установка обновлений Windows

XCOPY – копирование файлов и папок

Прочие материалы по работе с командной строкой Windows

Решим следующую задачу – нужно создать архив файлов, находящихся в каталоге
C:Program FilesFAR. Имя архивного файла должно состоять из текущего времени
(часы.минуты.секунды – ЧЧ.ММ.СС.rar), и помещен он должен в новый каталог, имя которого должно состоять из текущей даты
(день.месяц.год – ДД.ММ.ГГГГ). Для архивирования будем использовать архиватор RAR.
Формат запуска для создания архива:

a – команда создания архива.
-r – ключ, определяющий архивирование подкаталогов (т.к. в исходной папке есть подкаталоги).

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

Присвоение съемному диску одной и той же буквы.

Задача заключается в том, чтобы съемный USB диск (флэш диск) был доступен
всегда под одной и той же буквой, независимо от того, на каком компьютере он
используется и каким образом он был подключен. Для ее решения воспользуемся уже упоминаемой выше командой SUBST, но реализуем присвоение новой буквы диску с
помощью подстановочного значения переменной %0, создаваемой
системой при каждом запуске командного файла.

Выберем для съемного диска желаемую букву, например – X.

Некоторые из переменных окружения, в том числе и переменная %0,
принимающая значение пути и имени выполняющегося командного файла, позволяют
при определенной модификации с использованием специального признака –
символа ” ~ “, получить ее частичное значение (расширение переменной).
Например, не полный путь
файла, а только его имя, или каталог расположения, или букву диска, с
которого он был запущен или еще около десятка различных элементов, связанных
с подстановочными значениями переменной %0.

Дополнительное представление о подстановочных значениях
переменной %0 можно получить из командного файла следующего
содержания:

Создать папку — mkdir или md

Создаём пустую папку code внутри папки html:

Создаём несколько пустых вложенных папок — для этого записываем их через косую черту.

Создаётся папка css, внутри которой находится папка js. Чтобы проверить это, используем команду tree. Она показывает дерево папок.

15 ответов

Попробуйте mkdir -p:

mkdir -p foo

Обратите внимание, что это также создаст любые промежуточные каталоги, которые не существуют; например,

mkdir -p foo/bar/baz

создаст каталоги foo, foo/bar и foo/bar/baz если они не существуют.

Некоторые реализации, такие как GNU mkdir включают в себя mkdir –parents как более читаемый псевдоним, но это не указано в спецификации POSIX/Single Unix, поэтому этого следует избегать.

Если вам нужна ошибка, когда родительские каталоги не существуют, и вы хотите создать каталог, если он не существует, то вы можете сначала test существование каталога:

Это должно работать:

$ mkdir -p dir

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

Используйте флаг -p.

man mkdir
mkdir -p foo

Определение сложных деревьев каталогов с помощью одной команды

Если вы не хотите показывать сообщение об ошибке:

Если вы хотите показать свое собственное сообщение об ошибке:

Старый проверенный и достоверный

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

Иногда самые простые (и самые уродливые) решения являются лучшими.

mkdir foo работает, даже если каталог существует.
Чтобы он работал, только если каталог с именем “foo” не существует, попробуйте использовать флаг -p.

Это создаст каталог с именем “foo”, только если он не существует.:)

mkdir больше не поддерживает -p в системах Windows 8+.

Вы можете использовать это:

IF NOT EXIST dir_name MKDIR dir_name

Или если вы хотите сначала проверить наличие:

-e – это существующий тест для оболочки korn.

Вы также можете попробовать выполнить русификацию руководства по оболочке korn.

Вы можете использовать цикл if, чтобы проверить, существует ли каталог или нет, если он не выходит, чем создать каталог.

1) dir =/home/dir_name

2) Для создания каталога вы можете использовать mkdir с опцией -p. Он проверит, если каталог не доступен, он будет.

mkdir -p $dir

mkdir -p также позволяет создавать древовидную структуру каталога. Если вы хотите создать родительский и дочерний каталоги с помощью одной и той же команды, можете выбрать mkdir -p

mkdir -p /home/parent_dir /home/parent_dir/child1 /home/parent_dir/child2

Это простая функция (оболочка bash), которая позволяет вам создавать каталог, если он не существует.

Вы можете вызвать вышеуказанную функцию как:

Приведенное выше создает fooDir и BarDir, если они не существуют. Обратите внимание на параметр “-p” в команде mkdir, которая рекурсивно создает каталоги. Надеюсь это поможет.

Ссылаясь на man-страницу man mkdir для опции – p

-p, –parents
no error if existing, make parent directories as needed

который создаст все каталоги по заданному пути, если существует, не выдаст ошибку, иначе он создаст все каталоги слева направо по заданному пути. Попробуйте команду ниже. каталоги newdir и anotherdir не существует до выдачи этой команды

После выполнения команды вы можете увидеть newdir и еще один anotherdir созданный в /tmp. Вы можете выполнить эту команду столько раз, сколько захотите, команда всегда имеет exit(0). По этой причине большинство людей используют эту команду в сценариях оболочки перед использованием этих реальных путей.

mkdir -p sam

  • mkdir = Создать каталог
  • -p = – -p arents
  • (без ошибок, если есть, создайте родительские каталоги по мере необходимости)

Следующий код вызовет все ошибки, кроме ошибки “dir уже существует”. Он также потерпит неудачу, если файл с именем “dirName” уже существует:

Кроме того, он будет создавать каталоги рекурсивно, т.е.

создаст как “dir1”, так и “dir2”

Ещё вопросы

Использование утилит командной строки и командных файлов нередко позволяют
решить многие проблемы связанные с повседневной эксплуатацией компьютерной
техники. Большинство системных администраторов и грамотных пользователей
продолжают ими пользоваться, несмотря на то, что в Windows проявилось новое,
более мощное и современное средство управления системой – WMI
(Windows Management Instrumentation) и многофункциональная оболочка пользователя Power Shell. Очевидно, не в последнюю очередь, это
обусловлено простотой реализации и достаточной
эффективностью командной строки для решения повседневных задач обслуживания системы.

Ниже приведены простые
примеры с комментариями, которые демонстрируют некоторые возможности и
способы применения .cmd и .bat

Показать дерево папок — tree

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

Если вы хотите посмотреть содержимое всего диска, введите tree в корне нужного диска. Получится красивая анимация, а если файлов много, то ещё и немного медитативная.