Работа со строками в cmd: Работа со строками в командных файлах Windows 7 — Winreview.ru
Работа со строками в командных файлах Windows 7 — Winreview.ru
Позавчера мне пришлось написать простенький командный файл, бекапящий профиль приложения. В качестве имени папки с резервной копией мне возжелалось использовать переменные окружения %date% и %time%. Если вы проходили в институте начальный курс информатики, вы должны знать, что %time% в этом случае является ничем иным, как граблями, остро торчащими на пути, так значение содержит недопустимый символ «:». Я никогда не занимался разбором строк в командных файлах, и случай как нельзя лучше подходил для того, чтобы прокачать свои скилы.
Я хочу поделиться с вами своими изысканиями, и анонсирую скучную, унылую техническую статью. Дочитавшему до конца — покажу котика.
В современных ОС интерпретатор командной строки позволяет выполнять простейшие строковые операции:
Замена символов/подстроки в переменной командной строки
Это то, что мне было нужно в первую очередь. Напомню, моя задача в первую очередь избавиться от двоеточий.
Решается очень просто:
[code]set mytime=%time::=_%[/code]
В этом примере используется синтаксис вида:
[code]%Переменная:ЧтоНайти=НаЧтоЗаменить%[/code]
В моем случае заменяется двоеточие на символ нижнего подчеркивания, и результат выглядит так:
Само собой, можно заменять не отдельные символы, а целые словосочетания:
Как ещё можно воспользоваться функцией замены? Например:
Удалить все пробелы из значения переменной
[code]echo %var: =%[/code]
Замена какой-либо части строки
Вы можете использовать символ «*» для определения того, что обработке подлежит часть строки, предшествующая указанному выражением. Я не знаю, как написать это по-человечески, вот что я имею ввиду:
К сожалению, «звёздочкой» нельзя указать, что отсечь надо часть строки после указанного выражения. Эта задача решается в два этапа:
- в отдельную переменную помещается строка, из которой удалено всё, что находится до ключевого выражения. Т.е. в ней остается «хвост», искомое выражение плюс всё, что после него.
- затем из оригинальной переменной удаляется значение переменной, полученной на первом шаге. Здесь потребуется вызов команды СALL:
Инструкция CALL необходима для разворачивания значения переменной, подлежащей замене. Без неё интерпретатор отработает неверно, и вот эта конструкция не сработает:
[code]echo %var1:%var%=%[/code]
Необходимо писать:
[code]call echo %var1:%var%=%[/code]
Не забывайте, что при использовании таких конструкций в командных файлах знаки процентов должны быть удвоены:
[code]rem Работаем внутри командного файла
call echo %%var1:%var%=%%[/code]
Поиск подстроки
Используя опыт, полученный выше, можно написать простейшую проверку вида «содержит/не содержит».
Например, вот так:
[code]set var1=Мама мыла раму
set var2=%var1:Мама=%
if NOT «%var1%» == «%var2%» (echo Подстрока найдена)[/code]
Или
[code]set var1=Мама мыла раму
set var2=%var1:Мама=%
if NOT «%var1%» == «%var2%» (echo Подстрока найдена) else (echo Подстрока не найдена) [/code]
Выделение подстроки из переменной
Для получения подстроки из строки командный интерпретатор предоставляет такую конструкцию:
[code]set var2=%var1:~начальная_позиция%
set var2=%var1:~начальная_позиция,-отбросить_символов_с_конца_строки%
set var2=%var1:~начальная_позиция,длина%[/code]
Синтаксис очень простой, поэтому сразу перейдем к примерам.
Выделение подстроки с начиная определенной позиции
Выделение части строки, например, «середины»
Выделение определенного количества символов
Начальная позиции строки — нулевая.
Работа с наборами «ключ — значение»
Здесь, в общем-то, тоже никакой магии нет. В основе разбора лежит всё та же рассмотренная выше замена подстроки на пустое значение.
Алгоритм действий такой:
- Создается переменная, содежащая в себе значения вида <ключ><разделитель значения><значение><разделитель пары>. Назовем её условно «словарь».
- В переменную, которая будет содержать значение, записывается всё, что следует после ключа. По аналоги с заменой части строки, нужно использовать звездочку перед выражением <ключ><разделитель значения>.
- Полученный результат нужно «почистить», так как он может содержать в себе остаток словаря. Для этого прибегнем к хитрости и выполним составную команду.
Предположим, мы в качестве разделителя пары словаря используем точку с запятой. Тогда мы сможем довольно изящно «убить» оставшуюся часть словаря, поместив его в комментарии командой rem.
[code]set value=%value:;=&rem %[/code]
После rem — пробел, это важно(rem /?)
Теперь практический пример:
Я надеюсь, эта информация оказалась для вас полезной и сэкономит вам время, если у вас появится задача обработки строк. Впрочем, тему я раскрыл не полностью, и если у вас есть какие-то дельные личные наработки и приёмы обработки строк в командном интерпретаторе Windows, я совсем не против увидеть их в комментариях.
Материалы по теме:
http://ss64.com/nt/
Форум о скриптах на OSZone — рекомендую.
Спасибо, что дочитали до конца.
Урок 9 по CMD — цикл for, обработка текстовых строк
В этой статье мы рассмотри как используется цикл командной строки for для обработки текстовых строк и файлов. Тут будет фигурировать ключ /f, который меняет логику работы цикла командной строи (cmd) for и позволяет производить разбор любого текста по полочкам, так сказать.
Давайте начнем…
Цикл cmd for – обработка текста
Для обработки текста или содержимого текстового файла применяется следующая конструкция:
for /f [«параметры»] %%переменная in (источник) do (оператор)
Тут “параметры” задают параметры поиска, мы их рассмотрим ниже, “источник” – тут нужно указать или путь к текстовому файлу, или текст, или вывод команд, “оператор” – тут собственно, находятся команды для обработки текста. Сам текст можно хранить в переменной, имя которой мы зададим в качестве источника.
Значение “параметры” может быть одним или комбинацией таких параметров:
eol – позволяет задать признак концевого комментария (end-of-line comment character). Весь текст, что будет находиться после него, будет приниматься за комментарий, например,“eol=#” – тут символ # является признаком концевого комментария. Собственно, комментарий не будет обрабатываться.
skip – позволяет в цикле cmd for задать количество строк, которые нужно пропустить, счет идет с начала файла, например, “skip=10” – в данном случае будут пропущены строки от первой до десятой.
delims – параметр позволяет задать дополнительные разделители строки на подстроки. Так, стандартными разделителями является пробел и символ табуляции. Например, “delims=,.:” – тут мы определили, что запятые, точки и двоеточия являются разделителями.
tokens — данный параметр командной стоки цикла for cmd позволяет указать, какие номера полей строки, полученных из заданного текста, нужно передать для обработки в цикл. Полученные поля будут храниться в отдельной переменной. Фактически, если принимать каждое слово строки как отдельный элемент, то параметр tokens позволяет указать, какие именно слова по счету нужно обработать. Как упоминалось выше, стандартным разделителем является пробел и табуляция.
Для дополнительной переменной, как и для переменной инициализации, в качестве имени указывается латинская буква, большая или маленькая. Значения можно указывать как через запятые, например, “tokens=1,4, 9” – первый, четвертый и девятый элемент, так и через диапазон, например, “tokens=4-11” – с четвертого по одиннадцатый. Можно комбинировать: “tokens=4-10,15,20” – с четвертого по десятый, а также, пятнадцатый и двадцатый элемент. Если мы укажем в качестве последнего значения звездочку, то создастся еще одна переменная, которая будет хранить в себе все остальные элементы (строки) текста.
usebackq – данный параметр является довольно интересным и полезным, так как позволяет выполнять команды, передав их как параметр. Включив этот параметр, двойные кавычки будут применяться для имен файлов и пути к ним, обратные кавычки (`), они находятся на той же кнопке, что и символ (~) – для исполняемых команд, а одинарные кавычки – для литеральных строк.
Хорошо, теперь можно рассмотреть цикл cmd for и работу с ним на практике.
Допустим, у нас есть файл test.txt, в котором прописаны такие строки:
100 200 300
#это комментарий
400 500 600
10; 20; 30;
Попробуем выполнить такой код:
@echo off for /F "eol=#" %%A in (d:\work\test.txt) do echo %%A |
На выходе функция echo выведет:
100
400
10;
Как видим, строка с комментарием не вывелась, но и остальные строки вывелись не полностью, что бы это исправить, напишем так:
@echo off for /F "eol=# tokens=*" %%A in (d:\work\test.txt) do echo %%A |
Бинго, теперь нам вывело все строки полностью, кроме строки с комментариями, так как мы указали в параметре tokens значение *, то есть все. В предыдущем примере сценарий принимал пробелы как разделители.
Теперь запишем в текстовый файл такой текст:
Ukraina-Kijev-grivna-salo
Rossija-Moskva-rubl-bliny
Belorussija-Minsk-zajec-kartoska
Chechija-Praga-krona-pivo
@echo off for /f "tokens=1-4 delims=-" %%A in (d:\work\test.txt) do ( (@echo Strana:%%A Stolica:%%B Valuta:%%C Produkt:%%D) & Echo.) |
Тут мы указали, что разделителем является тире, и указали, что надо обработать первые четыре поля строки, каждое из которых хранится в отдельной переменной. Как видим, в цикле for cmd идет обработка каждой строки из текста, на выходе мы получим:
Strana:Ukraina Stolica:Kijev Valuta:grivna Produkt:salo
Strana:Rossija Stolica:Moskva Valuta:rubl Produkt:bliny
Strana:Belorussija Stolica:Minsk Valuta:zajec Produkt:kartoska
Strana:Chechija Stolica:Praga Valuta:krona Produkt:pivo
Я специально вставил между строк пустую (echo.) что бы было лучше видеть.
Осталось рассмотреть пример с параметром usebackq:
@echo off set get_dir=d:\work\hello.txt for /f "usebackq" %%A in (`echo Hello, Wold ^>^> "%get_dir%"`) do echo OK type %get_dir% set get_dir= |
В данном случаем мы выполняем команду: записываем фразу “Hello, Wold” в текстовый файл, путь к которому содержится в переменной get_dir. В конце выводим содержимое файла и удаляем переменную.
Знаю, знаю, мало примеров, ничего, я исправлюсь…
Синтаксис команд командной строки. Файловая структура. Групповые символы.
Прежде чем начать изучение команд, необходимо познакомиться с некоторыми первоначальными сведениями, которые необходимы для дальнейшего изучения командной строки.
Синтаксис команд командной строки.
Каждая команда имеет определенную синтаксическую структуру, согласно которой пользователь вводит команду в командной строке. Для примера, возьмем команду CD, которая используется для изменения текущего каталога. Она имеет следующий синтаксис cd [/d] [диск:][путь] [..]. Большинство команд командной строки имеет различные параметры и ключи. Как правило, ключ обозначается буквой латинского алфавита с предшествующей вертикальной косой чертой «/» (в некоторых командах ключи могут начинаться со знака минус «-»). В нашем случае команда CD имеет один ключ [/D]. [диск:][путь] и [..] являются параметрами команды CD. Если какие-нибудь ключи и параметры записываются в квадратных скобках, то применение их в команде необязательно. Например, в нашем случае у команды CD ключ и параметры являются необязательными, т.е. команда CD может употребляться без них. Для примера, возьмем другую команду XCOPY, которая позволяет копировать файлы и папки. Она имеет следующий синтаксис: xcopy источник [результат] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:мм-дд-гггг]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:файл1[+[файл2]][+[файл3]] [{/y|/-y}] [/z]. Как видите, команда имеет много различных ключей и параметров. Однако только один параметр является обязательным: «источник». При вводе той или иной команды в командной строке необходимо придерживаться синтаксиса, т.е. вводить ключи и параметры (если они необходимы) в том порядке, в котором они представлены в синтаксической структуре команды.
Регистр при наборе команд.
Вы можете набирать имена команд, параметров и ключей в любом регистре, т.к. он не имеет значения при работе в командной строке.
Работа с файловой системой.
Первые уроки по командной строке будут посвящены работе с файловой системой Windows, т.е. работе с файлами и папками. Поэтому следует сказать несколько слов об особенностях определения путей к файлам и папкам. Путь к файлу записывается следующим образом: [диск][путь\]имя_файла. Таким образом, получается что обязательным параметром является только «имя_файла». При этом, если перед именем файла стоит знак «\», то маршрут к этому файлу вычисляется от корневого каталога, если имя файла употребляется без знака «\», то маршрут к нему вычисляется от текущего каталога. Для примера, создадим на диске «С» файл «text.txt». Запустим командную строку. По умолчанию, текущим каталогом является «С:\Users\имя_пользователя». Для того чтобы открыть какой-нибудь файл с помощью командной строки, необходимо просто записать название этого файла. Однако, здесь следует правильно отобразить маршрут к этому файлу. Если мы просто наберем text.txt, то на экране появится сообщение ««text.txt» не является внутренней или внешней командной, исполняемой программой или пакетным файлом». Дело в том, что файл «text.txt» находится в корне диска «С», а у нас текущим каталогом является папка «имя_пользователя» (в моем случае «вадим»), находящаяся в папке «Users» на диске «С». Если нам необходимо, чтобы маршрут к файлу отсчитывался от корня диска, перед файлом необходимо поставить знак «\»: \text.txt
Теперь перейдем в корень диска «С» (это можно сделать с помощью команды CD\). Сейчас для открытия файла «text.txt» достаточно написать в командной строке text.txt без использования знака «\», поскольку текущим каталогом является диск «С», а файл как-раз расположен в корне диска «С»
Теперь создадим в папке «Users» файл «file.txt» и изменим текущий каталог на «С:\Users\имя_пользователя» (в моем случае «имя_пользователя» — «вадим»). Сделать это можно с помощью команды: cd users\имя_пользователя. Файл «file.txt» находится ни в корне диска «С», ни в текущем каталоге, поэтому для его открытия необходимо указать не только название файла, но и каталог, в котором он находится (в нашем случае «Users»). Если мы запишем просто users\file.txt, то на экран будет выведено сообщение «Системе не удается найти указанный путь», поскольку эта самая «система» пытается найти файл «file.txt» в папке «Users», начиная от текущего каталога, т.е. по маршруту C:\Users\вадим\Users\file.txt. Если же мы запишем в командной строке \users\file.txt, то система будет искать файл «file.txt» в папке «Users», начиная от корня диска «С», т.е. по маршруту «C:\Users\file.txt», который является правильным.
Если файл расположен на другом диске, то для доступа к нему необходимо указывать полный путь с указанием имени диска. Например, создадим на диске «D» папку «FOLDER», а в ней файл «f1.txt». Тогда команда для открытия файла «f1.txt» будет выглядеть так: d:\folder\f1.txt
Для обозначения текущего каталога и 3-х его верхних уровней используются особые обозначения. Так текущий каталог обозначается символом «.» (точка), его родительский каталог – символом «..», каталог 2-го уровня – символом «…», каталог 3-го уровня – символом «….». Эти обозначения используются в некоторых командах. Например, команда CD.. осуществляет переход в родительский каталог.
Использование групповых символов.
При работе в командной строке имена файлов можно заменять групповыми символами, «*» (звездочкой) и «?» (вопросительным знаком). Символ «*» заменяет любое количество символов в названии файла, а символ «?» обозначает присутствие или отсутствие одного символа в названии файла. Например, запись «*.txt» обозначает все текстовые файлы. Запись «file.*» обозначает файлы с именем «file» и любым расширением. Запись «*.*» обозначает все файлы. Запись «fi?e.txt» может обозначать любой текстовый файл, с названием file.txt, fie.txt, fife.txt, fi4e.txt и т.д.
При использовании имен файлов, состоящих из более чем одного слова, необходимо заключать их в двойные кавычки. Например, создадим на диске «С» папку «новая папка», а в ней файл «новый документ». Тогда для открытия этого файла, путь к нему необходимо заключить в двойные кавычки.
Предыдущая статья: Запуск командной строки.
Оглавление: Командная строка.
Следующая статья: Перенаправление ввода-вывода и конвейеризация.
assoc | Вывод или изменение ассоциаций с файловыми расширениями |
attrib | Вывод или изменение атрибутов файла или каталога |
break | Установка или отмена расширенной проверки CTRL+C для совместимости с DOS программами |
bootcfg | Настройка параметров boot.ini для управления загрузчиком |
cacls | Вывод или изменение параметров доступа к файлам — ACLs (Access Control Lists) |
call | Вызов одного пакетного файла из другого |
cd (chdir) | Отображение имени или смена текущего каталога |
chcp | Вывод или изменения кодовой страницы |
chkdsk | Проверка диска и вывод информации о его состоянии |
chkntfs | Вывод или изменение проверки NTFS диска при загрузке |
cls | Очистка экрана |
color | Установка цвета текста и фона консоли |
compact | Вывод или изменение сжатия файлов наNTFS диске |
comp (fc) | Сравнение содержимого двух файлов или комплектов файлов |
convert | Конвертация FAT разделовв NTFS, текущий диск конвертировать нельзя |
copy | Копирование файлов в другой каталог |
date | Изменение или отображение текущей даты |
del (erase) | Удаление файлов |
diskcomp | Сравнение содержимого двух дискет |
diskcopy | Копирование содержимого с одной дискеты на другую |
diskpart | Отображение, изменение, создание различных дисковых разделов |
dir | Отображает список подкаталогов и файлов в каталоге |
doskey | Расширение возможностей командной строки |
driverquery | Вывод свойств драйверов и состояния устройств |
echo | Вывод сообщений или установка режима отображения сообщений |
endlocal | Конец изменения настроек локализации окружения в пакетном файле командой setlocal |
eventquery | Вывод содержимого журнала событий по определённым критериям |
exit | Выход из программы cmd.exe (командного процессора) |
find (findstr) | Поиск текстовой строки в одном или нескольких файлах |
for | Выполнение определенной команды для каждого файла в наборе файлов. |
forcedos | Безопасный запуск DOS — приложений |
format | Форматирование диска |
fsutil | Вывод и изменение настроек файловой системы |
ftype | Вывод и изменение ассоциаций с расширениями файлов |
goto | Направляет интерпретатор к помеченной строке пакетного файла. Метка записывается первым элементом строки после : |
gpresult | Вывод информации групповой политики для машины или пользователя |
graftabl | Загрузка в память таблицы дополнительного набора символов для вывода на экран через цветной графический адаптер |
if | Постановка условия выполнения команды в пакетных файлах |
label | Вывод и изменение метки тома дисков |
md (mkdir) | Создание каталога |
mode | Настройка системных устройств |
more | Вывод информации поэкранно |
net accounts | Управление пользователями, паролями и способом входа в систему |
net computer | Добавление компьютера к домену Windows NT Server |
net config | Вывод информации о настройке служб Workstation и Server |
net continue | Восстановление работы службы после применения команды net pause |
net localgroup | Управление локальными группами компьютера |
net name | Вывод и установка имени компьютера для службы Messenger |
net file | Имена открытых совместно используемыз файлов на сервере |
net group | Управление глобальными группами на Windows NT Server |
net helpmsg | Справка о сообщении о сетевой ошибке |
net pause | Приостановка службы или ресурса |
net print | Вывод списка компьютеров сети и их ресурсов |
net send | Отправка сообщения через службу Messenger |
net session | Вывод списка соединений с другими компьютерами |
net share | Назначение совместно используемых ресурсов |
net statistics | Вывод журнала статистики |
net stop | Остановка службы |
net time | Синхронизация системного времени между компьютерами |
net view | Вывод имён серверов или совместно используемых ресурсов сервера |
net user | Управление учётными записями пользователей домена |
openfiles (net file) | Вывод имён совместно используемых файлов, открытых удалёнными пользователями |
pagefileconfig | Вывод и изменение настроек файла подкачки |
path | Вывод или установка путей поиска исполнимых файлов |
pause | Приостанавливает исполнение командного файла в процессе обработки и выводит сообщение |
Печать текста | |
popd | Возврат к каталогу , сохранённому командой pushd |
prompt | Изменение приглашения командной строки |
pushd | Сохранение текущего каталога для его изменения, возврат- командой popd |
recover | Восстановление восстановимой информации с повреждённого диска |
ren (rename) | Переименование файлов или каталогов |
rem | Игнорируемый коментарий в пакетном файле или в файле config.sys |
replace | Замена одних файлов другими |
rd (rmdir) | Удаление каталогов |
set | Вывод, изменение и удаление переменных окружения |
setlocal | Начало изменения настроек локализации окружения в пакетном файле |
sc | Отображение и настройка служб |
schtasks | Управление планировщиком задач |
shift | Сдвиг параметров запуска в пакетном файле |
shutdown | Локальное или удалённое завершение работы машины |
sort | Сортирует входной поток данных |
start (cmd) | Открывает отдельное окно командной строки |
subst | Ассоциирует путь с буквой диска |
systeminfo | Вывод специфических свойств и настроек компьютера |
tasklist | Вывод всех работающих процессов включая службы |
taskkill | Отключение или остановка работающего процесса или приложения |
time | Изменение или вывод текущего системного времени |
title | Установка заголовка для окна cmd.exe |
tree | Наглядно отображает структуру директории или диска. |
type | Вывод содержимого текстового файла |
ver | Вывод версии Windows |
verify | Проверка правильности записи файлов на диск |
vol | Выводит метку тома и серийный номер диска |
wmic | Вывод и изменение WMI информации |
xcopy | Копирование файлов и дерева каталогов |
finger | Вывод информации об удалённых пользователях системы |
ftp | Передача или приём данных с узла FTP (File Transfer Protocol) |
hostname | Вывод имени текущего узла |
netstat | Вывод текущих подключений TCP/IP и статистики протокола |
ping | Проверка удалённых соединений узла |
rcp | Копирование файлов между компьютерами с ОС Windows и Unix с запущенной службой RSHD — Remote Shell Service (Daemon). |
rsh | Запуск команды на удалённых узлах с запущенной службой RSHD |
tftp | Передача или приём данных без идентификации пользователя с узла TFTP (Trivial File Transfer Protocol) |
arp | Вывод и изменение таблицы трансляции адресов, используемых протоколом ARP (Addres Resolution Protocol) |
ipconfig | Вывод информации о текущей конфигурации протокола TCP/IP (при динамическом распределении адресов) |
lpq | Вывод состояния очереди печати удалённой машины, на которой работает LPD Server |
lpr | Отправка файлов на печать на LPD Server |
nbtstat | Вывод состояния соединения по протоколу TCP/IP и его статистики если TCP/IP эмулирует NetBIOS |
rexec | Выполнение неинтерактивных команд на удалённой машине с запущенной службой rexecd с проверкой имени пользователя и пароля |
route | Обработка таблиц маршрутизации |
telnet | Запуск сеанса эмуляции терминала (VT100,VT52, TTY) удалённого узла |
tracert | Трассировка пакета |
Как через cmd создать файл: текстовый с расширением txt в папке | IT S.W.A.T.
Здравствуйте, уважаемые читатели сайта itswat.ru. Если вам неизвестно, как через cmd создать файл, и в каких ситуациях это актуально, то данная статья будет вам особо полезна.
Командная строка позволяет реализовывать многие опции, в том числе и создание файла. В этом процессе нет ничего сверхсложного. Следует просто выполнять определённые шаги. Они и представлены в данном материале. Также дано само определение командной строки, поскольку некоторые пользователи не имеют о ней представления.
Содержание статьи:
- Определение
- Вопрос по запуску
- Специфики работы
- Создание новой папки
- Сотворение файла
Определение
Командной строкой (cmd) называется программная оболочка, которая является обязательной составляющей операционной системы (ОС). Она организует прямую взаимосвязь между компьютером и пользователем. Также помогает решить некоторые дилеммы, связанные с общим функционированием ПК и отдельного софта.
Яркие примеры её применения таковы:
- Заражение компьютера вирусами или программами-вредителями.
- Неполадки в системных файлах.
- Восстановление Windows (на сленге пользователей – «винды»).
- Корректировка опций в играх.
В неё необходимо прописывать команды, чтобы реализовать те или иные задачи. На эту процедуру тратится существенно меньше времени, чем при работе с графическим интерфейсом.
Работать с ней требуется очень внимательно и осторожно. В прописанных командах не должно быть ошибок. Иначе можно получить совершенно неожиданные результаты, преобразующиеся в дальнейшем в проблемы.
Вопрос по запуску
Перед решением основной дилеммы необходимо изучить версии активации командной строки. Варианты отличаются в зависимости от вида винды (XP, семёрка, восьмёрка или десятка).
Для вызова системного окошка со строкой нужны такие действия:
- Зажать синхронно две кнопки: «Win» (обозначается на клавиатуре флажком) и букву R. Принцип работает на Windows 7 и XP. На восьмёрке используется сочетание кнопок «Win» + X (английская буква).
- В появившейся графе пропишите cmd и нажмите «Enter».
Можно задействовать меню «Пуск». Наводите курсор в нижний левый угол и нажимаете левую кнопку мыши. Выберите графу «Все программы». Перейдя в раздел под названием «Стандартные», выберите «Командную строку».
Но такой вариант оптимален только для версий системы до Windows 10.
Сама работа в командной строке происходит по одному сценарию без зависимости от операционной системы. Отличия касаются только её вызова.
Например, если вас интересует, как создать файл в командной строке Windows 10, то в первую очередь вызовите её.
Для этого в меню «Пуск» выбираете разделе «Служебные»,а после этого – командную строку.
Есть и универсальный способ вызова для всех ОС. Он выражается в следующем алгоритме:
- Используя проводник, открыть диск с системной папкой (как правило его буквенное обозначение C) с виндой.
- Открывается папка «Windows», а в ней -«System32». Там и находится файл «cmd.exe». Это та самая командная строка.
- Этот файл запускается от администратора.
После данных действий можно создавать файл с применением команд.
Специфики работы
Для начала необходимо освоиться в перечне команд, которые пригодны для командной строки. Пропишите слово «help» и нажмите «Enter». Это клавиша служит для подтверждения всех команд и попадания на новой строке.
Если в строке требуется наличия скопированного текста, тогда в ней наведите курсор на любое пустое место и кликните правой кнопкой. Из появившегося меню выберите опцию «Вставить». Можно поместить текст комбинацией «Ctrl+V».
Чтобы скопировать слова из этой строки, выделите их левой кнопкой мышки и нажмите «Enter».
Для более удобной и оперативной работы можно все команды предварительно прописать в текстовом документе. Проверьте точность их написания. Затем просто копируйте и вставляйте их в нужные места.
Создание новой папки
Папка в данном контексте рассматривается так же, как каталог. Создать её нетрудно, знаю специальную команду.
Сначала указывается путь к директории, в которой появится новый файл. После чего прописывается команда md с именем нового каталога. Например: md papka.
Указанная команда это аббревиатура фразы make directory (в переводе -сделать каталог). Далее можно создать файл в папке, созданной только что, применив определённые команды. Обычно этот метод выбирают те, кому не подходят стандартные решения.
Сотворение файла
В данном примере рассмотрен вариант, как создать файл с расширением txt через cmd.
Не покидая необходимого каталога введите в строке следующее: «copy con filename.txt».
Здесь copy con – это команда копирования вводимой фразы в файл.
Далее становится доступным режим для ввода текста. Чтобы завершить сотворение файла, щёлкните на кнопку F6 и подтвердите операцию (клавишей «Enter»). В некоторых системах вместо F6 нажимается Ctrl+Z.
Как создать новый текстовый файл через cmd? Для этого вводится команда NUL> с именем файла. Пример на изображении:
Операцию можно повторять столько раз, сколько вам требуется файлов. Если такой надобности нет, то процедура завершается. Можно закрывать командную строку.
string — В подстановке CMD, как удалить подстроку, которая начинается с определенного символа до конца
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
Загрузка…
c # — Передача команд в CMD.exe в строке идет не так
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
CMD Variable edit replace — Windows CMD
CMD Variable edit replace — Windows CMD — SS64.com
Используйте приведенный ниже синтаксис для редактирования и замены символов, присвоенных строке.
переменная.
Синтаксис % переменная : StrToFind = NewStr % % ~ [ param_ext ] $ переменная : Param Ключ StrToFind: персонажи, которых мы ищем NewStr: символы для замены (если есть) переменная: переменная среды param_ext: любое расширение параметра имени файла Param: параметр командной строки (например,г. 1)
Этот синтаксис редактирования / замены может использоваться везде, где вы использовали бы% variable%, например, ECHOing переменная для отображения на экране или установка одной переменной = другой
param_ext не может быть% *, который обычно представляет собой полный набор параметров, но это легко обойти, установив переменную =% *
«StrToFind» может начинать со звездочки, и в этом случае он заменит
все символы слева от «StrToFind».
Оставляя NewStr пустым, вы можете удалять символы.
Использование звездочки и NewStr = null эффективно обеспечивает левую $ () или правую $ () функцию.
Примеры:
Переменная _test, содержащая 12345abcabc, имеет вид
используется для всех следующих примеров:
:: Заменить "12345" на "Hello" УСТАНОВИТЬ _test = 12345abcabc SET _result =% _ test: 12345 = Hello% ECHO% _result% = Привет abcabc :: Замените символьную строку 'ab' на 'xy' УСТАНОВИТЬ _test = 12345abcabc SET _result =% _ test: ab = xy% ECHO% _result% = 12345xycxyc :: Удалить строку символов 'ab' УСТАНОВИТЬ _test = 12345abcabc SET _result =% _ test: ab =% ECHO% _result% = 12345cc :: Удалить строку символов 'ab' и все перед ней УСТАНОВИТЬ _test = 12345abcabc УСТАНОВИТЬ _result =% _ test: * ab =% ECHO% _result% = cabc :: Замените строку символов 'ab' и все перед ней на 'XY' УСТАНОВИТЬ _test = 12345abcabc SET _result =% _ test: * ab = XY% ECHO% _result% = XYcabc :: Чтобы удалить символы из правой части строки, :: двухэтапный процесс, требующий использования оператора CALL :: e.г. SET _test = Быстрая коричневая лиса перепрыгивает через ленивую собаку :: Чтобы удалить все после строки 'коричневый' :: сначала удалите "коричневый" и все перед ним SET _endbit =% _ test: * коричневый =% Эхо Мы не хотим: [% _endbit%] :: Теперь удалите это из исходной строки НАБОР ВЫЗОВОВ _result = %% _test:% _ endbit% = %% эхо% _result%
Все примеры на этой странице предполагают расширение переменных по умолчанию, если вы используете DelayedExpansion, вы можете изменить ссылки на переменные на! _Variable! вместо% _variable%
Одним из преимуществ DelayedExpansion является то, что он позволит вам заменить символ%, его все равно нужно будет экранировать как %%, но действие замены будет обрабатывать его как любой другой символ:
Заменить букву P на символ процента:
Setlocal EnableDelayedExpansion
_demo = somePdemoPtextP
_demo =! _ demo: P = %% !
Удалить пробелы из текстовой строки
Для удаления пробелов используйте тот же синтаксис, что и выше:
SET _no_spaces =% _ some_var: =%
Boolean Test «Строка существует?»
Чтобы проверить наличие значения, мы можем использовать временную переменную, удалить строку, которую мы ищем (если она существует), а затем сравнить две переменные с EQU
Пример: проверка на наличие строки «Лондон»
в переменной, содержащей текст (который может быть в любом порядке) «Абердин, Лондон, Эдинбург»Установить _cities = «Абердин, Лондон, Эдинбург»
:: Удалить Лондон, если найдено
Установите _dummy =% _ cities: London =%
ЕСЛИ НЕ% _dummy% ==% _cities% (найдено ECHO London.) ELSE (ECHO London не найдено.)
Поиск элементов в переменной среды PATH
Переменная% PATH% содержит список имен папок.
Если у вас есть параметр, содержащий допустимую «папку», это можно сравнить с
переменная PATH.Это делается с использованием синтаксиса:
$ переменная: параметрПример
% ПУТЬ% =
C: \ Windows \ system32; C: \ Windows; C: \ utils \ jdk \ bin
параметр пакета% 1 =
C: \ utils \ jdk \ binЧтобы получить диск и путь
ECHO% ~ dp $ PATH: 1
Это либо вернет «C: \ utils \ jdk \ bin», либо NULL, если элемент
не найден в% PATH%Если параметр пакета был указан как% 2, то это будет:
ECHO% ~ dp $ PATH: 2Этот синтаксис может применяться где:
- Параметр — это любой допустимый параметр (% 1% 2% G), но он должен содержать полный
Путь (не путь)- Переменная% PATH% или любая другая переменная, содержащая один или несколько
Пути или путевые имена, разделенные точкой с запятой;- Если поиском ничего не найдено, будет возвращена пустая строка.
(ПУСТО)Будьте осторожны при использовании синтаксиса на этой странице, чтобы изменить ПУТЬ — Путь пользователя можно редактировать, но системный путь остается доступным только для чтения для большинства
пользователей.
«Фальшивая улыбка никогда не заменит честности» ~ Боб Мартинелли
Связано:
ПОДСТРОКА переменной: ~
ПАРАМЕТРЫ — Расширения параметров имени файла.
strlen.cmd — Получить длину строки.
PATHMAN — эта утилита Resource Kit позволяет быстро модифицировать как систему
и пути пользователя. Pathman может решить многие проблемы, такие как повторяющиеся символы,
и может повысить производительность, удалив повторяющиеся пути.Подробнее см. Pathman.wri.
в комплекте ресурсов.
Авторские права © 1999-2020 SS64.com
Некоторые права защищены.