Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как сохранить файл с расширением cmd


Как сохранить в текстовый файл вывод командной строки Windows

Windows
  • Recluse
  • 15.11.2016
  • 38 661
  • 15
  • 21.04.2020
  • 22
  • 21
  • 1
  • Содержание статьи

Командная строка - неизменный компонент любой операционной системы Windows, который берет свое происхождение прямиком от её предка - операционной системы MS-DOS. Данная программа имеет довольно широкие возможности, но сейчас мы поговорим о довольно примитивной вещи - сохранение (по факту - перенаправление) вывода командной строки в текстовый файл.

Почитать о том, как сделать тоже самое в Linux\BSD системах можно в этой статье.

Использование перенаправления выполнения команд

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

ping 8.8.8.8 > C:\Logs\ping.txt

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

Как видно, командная строка не вывела никакого результата введенной команды на экран, но зато сохранила все в файл ping.txt. К сожалению, существуют ограничения перенаправления вывода, которые не позволяют одновременно отображать вывод и в окне командной строки, и сохранять их в текстовый файл. Однако, можно воспользоваться хитростью - сразу по завершению выполнения команды вывести содержимое текстового файла на экран с помощью команды type. Получится что-то следующее:

ping 8.8.8.8 > C:\Logs\ping.txt & type C:\Logs\ping.txt

Если требуется файл не записывать (существующий текстовый файл будет перезаписан), а дописывать (существующий текстовый файл будет дополнен), нужно вместо одного символа ">" использовать два - ">>".

ping 8.8.8.8 >> C:\Logs\ping.txt

В случае, если в текстовый файл нужно сохранить так же какой-то текст (например, в составе bat файла), то можно воспользоваться комбинацией с командой echo:

echo Имя компьютера: %computername% > C:\Logs\ping.txt
 echo Проверка пинга до google.ru > C:\Logs\ping.txt
 ping google.ru > C:\Logs\ping.txt

Содержимое получившегося текстового файла будет следующим:

Для того, чтобы вывод был только в текстовый файл (без показа в окне командной строки), нужно вставить первой строкой в bat файле команду @echo off

Все о BAT файлах

Все о BAT файлах

   Пакетные или batch файлы это обычные текстовые файлы, содержащие наборы команд интерпритатора и имеющие расширение bat или cmd (cmd работают только в ОС семейства NT). Редактировать такие файлы можно при помощи блокнота или любого другого текстового редактора.
В этом FAQ собраны рекомендации, которые были протестированы на Windows 2000. Некоторые команды и переменные, использованные при написании примеров, отсутствуют в 9х.

Как создать batch файл? 

Откройте блокнот и наберите две следующих строки:

@echo This batch file
@pause

Выберите Файл - Сохранить как, выберите Тип файла - Все файлы, в поле Имя файла введите 1.bat и сохраните его в корне диска С, например. Теперь откройте диск С и запустите файл 1.bat. На экран будет выведено две строки.

This batch file
Нажмите любую клавишу для продолжения...

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


Команды, используемые в bat файлах 
 
Список команд, которые можно использовать в bat файлах, можно просмотреть, введя в командной строке (Пуск - Выполнить - cmd для Windows семейтва NT или Пуск - Выполнить - command для линейки 9х) команду

help

Результат работы help - список доступных команд с краткими пояснениями к ним. Чтобы получить более подробную информацию по интересующей команде введите в командной строке help имя_команды. Например, чтобы получить подробную справку по ключам команды AT выполните следующую команду:

help AT

В результате, на экран будет выведен список ключей для запуска команды AT из bat файла.
Если bat файл исполняется под управлением Windows (не в чистом DOS-е), то из него можно запускать любые приложения или открывать файлы. Например, нужно автоматически открыть лог-файл работы bat файла по завершении его работы. Для этого достаточно включить в bat файл последней строкой следующую команду:

start имя_файла.txt

Результатом выполнения этой команды станет открытие файла имя_файла.txt, а сам bat файл завершит свою работу. Такой способ хорош, если лог-файл небольшого размера, иначе Блокнот откажется его открывать, предложив использовать WordPad. Но эта проблема так же решаема, что и будет показано в дальнейших примерах.


Как автоматизировать запуск bat файлов 
 
Очень часто необходимо автоматизировать запуск bat файлов для выполнения ими рутинных операций. Для запуска bat файлов по расписанию наиболее подходит Планировщик, входящий в стандартную поставку Windows. С это помощью можно очень гибко настроить запуск пакетного файла в определенные дни или часы, с определенным интервалом. Можно создать несколько расписаний и т.д.
Для локального запуска batch файлов можно пользоваться решениями от третьих фирм, благо платных и бесплатных альтернатив стандартному Планировщику великое множество.
Batch файлы так же могут использоваться как логин-скрипты в доменах. При таком их использовании они будут исполняться при каждом входе пользователя в сеть не смотря на его желание. С их помощью можно автоматизировать сбор информации о машинах или о программном обеспечении, установленном на компьютерах пользователей, принудительно менять настройки Windows, устанавливать незаметно для пользователя программное обеспечение и автоматизировать решение других задач, ручное исполнение которых заняло бы очень много времени.


Как создать файл с произвольным именем из bat файла 
 
Для создания файла в процессе выполнения пакетного файла используется символ перенаправления. Он выглядит так:

>

Т.е. чтобы создать файл нужно перенаправить поток с экрана в файл. Сделать это можно при помощи следующей команды:

@echo Start file>C:\1.txt

После выполнения этой команды в корне диска С будет создан текстовый файл со строкой Start file.
При создании файла в его имени можно использовать системные переменные или их части. Например, можно создать файл-отчет о работе bat файла с именем, равным дате запуска bat файла. Для этого можно использовать следующие строки в bat файле.

set datetemp=%date:~-10%
@echo .>%SYSTEMDRIVE%\%DATETEMP%.txt

Эти две строки работают следующим образом. Сначала в памяти создаем переменную datetemp, которой присваиваем 10 символов справа налево от системной переменной DATE. Таким образом, теперь во временной переменной datetemp содержится только текущая дата. Следующией строкой перенаправляем вывод символа точка в файл, имя которого берем из переменной datetemp, а расширение txt указываем явно. Файл будет создан на системном диске компьютера, где выполняется bat файл.
При сборе администратором информации о компьютерах в сети будет удобнее добавить к имени файла имя компьютера. Это легко можно сделать при помощи следующей команды:

@echo .>C:\FolderName\%COMPUTERNAME%.txt

Эта команда в ходе выполнения пакетного файла создаст на диске С текстовый файл с именем того компьютера, на котором выполняется пакетный файл.
Для создания файла с определенным именем можно использовать любые системные переменные, либо создать свои, на основе системных переменных и/или других данных.


Как создать папку из bat файла 
 
Для создания папки используется команда MKDIR или ее сокращенный аналог MD. Для создания папки из bat файла нужно использовать следующую команду:

MD FolderName

После выполнения такой команды будет создана папка FolderName в папке, откуда запущен bat файл. Чтобы создать файл в отличном от запуска bat файла месте, например в корне диска D, используйте явное указание расположения новой папки. Команда будет выглядеть так: 

MD D:\FolderName

При создании папок можно пользоваться системными переменными. Например, можно создать в корне диска D папку с именем текущего пользователя. Для этого понадобится переменная %USERNAME%, а команда будет выглядеть следующим образом:

MD D:\%USERNAME%

Можно еще более усложнить команду и создать папку с именем текущего пользователя на системном диске его компьютера. Команда для этого будет выглядеть так:

MD %SYSTEMDRIVE%\%USERNAME%

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

set datetemp=%date:~-10%
MD %SYSTEMDRIVE%\%datetemp%

Эта конструкция работает следующим образом.
Первая команда создает в памяти переменную datetemp, которая будет уничтожена по окончании работы bat файла. То тех пор, пока bat файл не закончил свою работу есть возможность оперировать со значением этой переменной. Переменной datetemp присваивается 10 символов справа налево от системной переменной DATE, т.е. от текущей даты. Переменная DATE имеет формат Дн ДД.ММ.ГГГГ. Первые символы слева - имя дня недели и поэтому мы их отбрасываем и присваиваем временной переменной datetemp только текущую дату.
Этим не ограничивается список возможностей при создании папок. Вы можете опрерировать переменными так, как удобно Вам, создавая папки с уникальными, легко читаемыми названиями. Получить список всех переменных можно при помощи команды SET.


Как перенаправить результат выполнения команд в файл

Часто, при выполнении сложного bat файла в автоматическом режиме проверить результаты его работы бывает затруднительно по многим причинам. Поэтому проще записывать результаты работы команд batch файла в текстовый файл (лог-файл). а потом анализировать правильность работы bat файла по этому логу.
Перенаправить результат работы команд bat файла в лог-файл достаточно просто. Далее будет показано, как это можно сделать.
Создайте bat-файл следующего содержания (скопируйте эти строки в Блокнот и сохраните файл с расширением bat):

@echo off
echo Start %time%
echo Create test.txt
echo test>C:\test.txt
echo Copy Test.txt to Old_test.txt
copy C:\test.txt C:\Old_test.txt
echo Stop %time%

Первая строка отключает вывод самих команд. Таким образом, в лог-файл будут записаны только результаты их выполнения.
Вторая строка записывает в лог-файл время начала работы пакетного файла.
Третья строка записывает в лог-файл пояснение того, что следующая команда создаст файл test.txt
Команда из четвертой строки создает файл test.txt с корне диска С. Файл создается для примера. Эта команда записывает в файл C:\test.txt слово test
Пятая строка выводит в лог-файл пояснение, что следующая команда выполняет копирование файла из одного места в другое.
Команда в шестой строке копирует созданный файл C:\test.txt в файл C:\Old_test.txt, т.е. создается копия файла под новым именем.
Последняя, седьмая строка содержит команду вывода времени завершения работы пакетного файла. В сумме с записью в лог-файл времени начала работы пакетного файла эти два значения времени дают возможность оценить время работы пакетного файла.

Сохраните этот пакетный файл под именем, например, 1.bat
Предположим, что отчет о работе пакетного файла мы бы хотели хранить в отдельной папке и каждый день записывать отчет с новым именем файла, чтобы была возможность в любой из дней обратиться к логам за предыдущие дни. Причем, имя лог-фала хотелось бы иметь в виде даты работы пакетного файла. Чтобы все это реализовать создадим на диске С (например) папку с именем LOG, т.е. полный путь к ней будет выглядеть C:\LOG. Созданный пакетный файл 1.bat будем запускать следующей командой:

1.bat>C:\LOG\%date~-10%.txt

Если пакетный файл будет запускаться из Планировщика, то нужно указать полный путь с bat-файлу. Помните, что если в пути есть пробелы, то надо использовать либо кавычки, либо формат 8.3. Т.е., если путь к bat-файлу C:\Program Files\1.bat, например, то в командной строке Планировщика для запуска bat-файла нужно указать одну из следующих строк:

"C:\Program Files\1.bat">C:\LOG\%date~-10%.txt
C:\Progra~1\1.bat>C:\LOG\%date~-10%.txt

После запуска файла 1.bat в папке C:\LOG будет создан файл с именем, равным дате запуска bat-файла, например, 13.01.2004.txt Это и будет отчет о работе пакетного файла 1.bat
Запуск bat-файла, пример которого показан в первом листинге вверху страницы, указанной выше командой, приведет к созданию лог-файла такого содержания:

Start 19:03:27,20
Create test.txt
Copy Test.txt to Old_test.txt
Скопировано файлов: 1.
Stop 19:03:27,21

Таким образом, для выполнения перенаправления результатов работы bat-файла в лог-файл нужно использовать символ перенаправления > Синтаксис таков:

Путь\ИмяФайла.bat>Путь\ИмяЛогФайла.txt

Расширение лог-файла может быть любым. При желании, отчет о выполнении пакетного задания можно оформить даже в виде страницы html (соответствующие теги могут быть выведены в лог-файл так, как выводились комментарии в примере 1.bat) и скопировать его на корпоративный сервер.


Как автоматически ответить на запрос о подтверждении 
 
Некоторые команды при выполнении требуют подтверждения потенциально опасного действия. Например, такие команды как format или del предварительно запросят подтверждения на дальнейшее выполнение. Если одна из этих команд выполняется в пакетном файле, то запрос на подтверждение остановит выполнение пакетного файла и он будет ожидать от пользователя выбора одного из предложенных вариантов. Причем, если результат выполнение пакетного файла перенаправлен в лог-файл, то пользователь не увидит запроса на подтверждение и batch файл будет выглядеть зависшим.
Для исправления таких неприятностей можно перенаправить нужный ответ в команду. Т.е. выполнить обратное действие для перенаправления вывода результатов работы команды в файл.
Посмотрим на примере как выглядит запрос на подтверждение потенциально опасного действия. Создадим на диске С, например, папку Folder. Создадим в ней или скопируем в нее два любых файла. Далее, откроем командную строку и выполним следующую команду:

del C:\Folder

Эта команда должна удалить все файлы из указанной папки. Но предварительно будет выдан запрос для подтверждения следующего содержания:

C:\Folder\*, Продолжить [Y(да)/N(нет)]?

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

|

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

echo Y|del C:\Folder

На экране будет показан запрос на подтверждение удаления всех файлов в папке Folder, но уже с положительным ответом (Y). Все файлы из папки Folder будут удалены.
Будьте осторожны с этой командой.


Как отключить вывод на экран команд при выполнении пакетного файла 
 
При выполнении пакетного файла на экран, помимо результатов работы команды, выводятся и сами команды. Чтобы отключить вывод команд, можно использовать символ @.
Чтобы не выводить на экран одну команду, можно поставить знак @ в начале этой команды.

echo Testing

Эта команда выведет на экран команду echo Testing, а на следующую строку - результат ее работы, слово Testing.

@echo Testing

Эта команда выведет на экран только результат работы команды, т.е. слово Testing. Сама команда выведена не будет.
Если на протяжении выполнения всего файла выводить команды на экран не нужно, то проще первой строкой в пакетном файле написать следующую команду:

@echo off

Эта команда отключит вывод команд на экран на протяжении выполнения всего пакетного файла. Чтобы сама команда не выводилась, она начинается с символа @.


Как из одного bat-файла запустить другой 
 
Иногда, при выполнении пакетного файла, возникает необходимость запустить другой пакетный файл. Причем, в некоторых случаях, выполнение основного пакетного файла должно быть приостановлено, пока выполняется вспомогательный файл, а в других вспомогательный файл должен работать параллельно с основным.
Для примера создадим два bat файла. Один с именем 1.bat и содержащий всего одну команду

call 2.bat

Второй с именем 2.bat и также содержащий одну команду

pause

Теперь запустим файл 1.bat Откроется окно, в котором будет предложено нажать любую клавишу для продолжения, после нажатия которой окно закроется. Таким образом, вызов из одного пакетного файла другого при помощи команды call останавливает исполнение пакетного файла до тех пор, пока не завершится выполнение пакетного файла, вызванного командой call.
В другом случае, надо запустить из bat файла либо приложение, либо другой пакетный файл, не прерывая выполнения основного пакетного файла. Такое нередко бывает нужно сделать, например, принудительно открыв лог работы пакетного файла, запланированного на ночь, чтобы с утра, пользователь мог проконтролировать правильность его выполнения. Для этого используется команда start Исправим в файле 1.bat строку на

start 2.bat

и запустим файл 1.bat Теперь открылось окно, в котором для продолжения надо нажать любую кнопку, а окно основного пакетного файла (1.bat) отработав закрылось.
Таким образом, для вызова из одного пакетного файла другого, без остановки работы первого пакетного файла, нужно применять команду start.
Рассмотренные команды start и call могут использоваться не только для запуска других пакетных файлов, но и для запуска любых приложений или открытия файлов.
Например, команда start log.txt, находящаяся в теле пакетного файла, откроет файл log.txt в Notepad без остановки работы пакетного файла.


Как отправить сообщение из bat-файла 
 
Когда пакетный файл исполняется на одной из машин в сети, то удобно проинформировать администратора об окончании его выполнения при помощи сообщения, отправленного на машину администратора. Сделать это можно, включив в пакетный файл команду

net send name Message text

Где name имя машины или пользователя, которому адресуется сообщение, а Message text - текст сообщения. После выполнения этой команды пользователю name будет отправлено сообщение.
Обратите внимание на то, что при использовании в тексте сообщения кириллицы текст должен быть набран в кодировке MS-DOS (866 кодовая страница). Иначе сообщение придет в виде нечитаемых символов. Набрать текст в кодировке DOS можно при помощи любого текстового редактора, поддерживающего эту кодировку. Это может быть, например, FAR. Откройте в FAR пакетный файл на редактирование (F4) и нажмите кнопку F8. В верхней строке редактора должна быть указана кодировка DOS, а снизу, у подсказки о быстрых клавишах, у клавиши F8 должна быть надпись Win, говорящая о том, что текущая кодировка DOS и для переключения в кодировку Win надо нажать F8.


Как автоматизировать удаление файлов по типу 
 
Чтобы очистить диск от временных файлов можно использовать команду

del /f /s /q C:\*.tmp

Где
/f - удаляет все файлы, даже если у них установлен атрибут только чтение
/s - удаляет файлы из всех подкаталогов
/q - отключает запрос на подтверждение удаления файла
C: - диск, на котором будут найдены и удалены файлы. Можно указать не весь диск, а папку, например, C:\WinNT
*.tmp - тип файлов, которые будут удалены
Будьте аккуратны с ключем /q и типами удаляемых файлов. Команда удаляет, не спрашивая разрешения и при указании неправильного типа файлов может удалить лишнего.


Как изменить IP адрес компьютера из пакетного файла 
 
IP адрес можно изменить при помощи команды netsh.
Чтобы правильно сменить IP адрес, сначала надо выяснить текущую конфигурацию. Сделать это можно в командной строке при помощи команды

netsh interface ip show address

Результат работы этой команды - отображение текущей конфигурации сетевого интерфейса. Нас интересует название интерфейса. Предположим, что он называется FASTNET.
Предположим, что нужно сменить IP адрес на 192.168.1.42, адресация в сети статическая, без использования DHCP, шлюз 192.168.1.1, маска 255.255.255.0 В этом случае, команда, которая должна быть выполнена из пакетного файла будет выглядеть следующим образом:

netsh interface ip set address name="FASTNET" static 192.168.1.42 255.255.255.0 192.169.1.1 1

После выполнения этой команды у интерфейса FASTNET IP адрес сменится на 192.168.1.42.
Команда netsh предоставляет широкие возможности по управлению сетевыми настройками из командной строки. Для ознакомления с другими ее функциональными возможностями пользуйтесь справкой при помощи netsh /?


Как узнать имя компьютера из bat файла 
 
Чтобы узнать имя компьютера при выполнении bat файла (чтобы использовать это значение в дальнейшем) используйте команду

hostname

Эта команда возвращает имя компьютера, на котором она запущена.


Как переименовать файлы по маске из пакетного файла 
 
Иногда возникает необходимость переименовать все файлы в папке по шаблону из пакетного файла. Сделать это можно при помощи следующей команды в bat-файле:

for /f "tokens=*" %%a in ('dir /b PATH\*.*') do ren PATH\%%a Prefix%%a

В этой строке надо заменить PATH\ на путь к файлам, которые будут переименованы, а Prefix на те символы, которые будут добавлены к имени файла при переименовании.
Не помещайте пакетный файл в папку, где происходит переименование, иначе он будет переименован тоже. Если в папке, где происходит переименование файлов есть подпапки, то к имени подпапки также будет добавлен префикс, т.е. подпапки будут переименованы как и файлы.
Если указать определенную маску для типов файлов, которые подлежат переименованию, например, *.txt, а не *.* как в примере, то будут переименованы файлы только указанных типов. Другие файлы и папки переименовываться не будут.

Второй вариант:

set thePATH=C:\test
for %%I in (*.txt) do ren "%thePATH%\%%~nxI" "%%~nI.dat"


Как использовать в пакетном файле символ процент 

Чтобы использовать символ процент (%) в пакетном файле его надо написать дважды. Например

echo 50%%

Эта команда в bat-файле выведет на экран 50%. Если же использовать команду echo 50%, то на экран будет выведено только число 50.
Учитывайте эту особенность при использовании символа % в написании пакетных файлов.


Как из пакетного файла сделать экспорт реестра 

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

regedit.exe -ea C:\environment.reg "HKEY_CURRENT_USER\Environment"

Данная команда при выполнении пакетного файла выгрузит ветку HKEY_CURRENT_USER\Environment в файл C:\environment.reg Когда потребуется восстановить значения параметров в HKEY_CURRENT_USER\Environment, будет достаточно запустить файл environment.reg. Эту команду можно использовать для ежедневного бэкапа настроек программного обеспечения и системы, которые хранятся в реестре.
Не забывайте, что если в пути, по которому должен быть сохранен выходной файл или в имени ветки реестра есть пробел, то их необходимо заключить в кавычки.


Как из пакетного файла импортировать значения переменных реестра 

Если есть необходимость из пакетного файла импортировать в реестр ранее сохраненные или новые значения переменных, то это можно сделать при помощи команды

regedit.exe -s C:\environment.reg

Эта команда импортирует в реестр данные из файла environment.reg без запросов на подтверждение за счет использования ключа -s.


Как из bat файла обойти проверку даты 
 
Некоторое программное обеспечение при запуске проверяет текущую системную дату. Если дата больше, чем заложено разработчиком, то программа не запускается. Например, разработчик считает, что версия программы может отработать месяц, а потом пользователь должен будет установить обновленную версию программы. С одной стороны это забота о пользователе, который будет иметь в своем распоряжении свежую версию программы с устраненными недочетами, по отношению к прошлым версиям. С другой стороны, производитель вынуждает пользователя скачивать новую версию даже если пользователя полностью устраивает та версия программы, которая у него установлена. Данную проблему можно легко решить при помощи следующего пакетного файла, который будет запускать программу, дожидаться ее завершения и возвращать дату на ту, которая была до запуска программы.

set tempdate=%date:~-10%
date 01-01-04
notepad.exe
date %tempdate%

В данном примере текущая системная дата сначала сохраняется в переменной, затем (во второй строке) системная дата устанавливается на 1-е января 2004 года, а потом вызывается программа, которая проверяет системную дату. В данном примере это Блокнот. До тех пор, пока открыт Блокнот, пакетный файл находится в ожидании, не завершаясь и не переводя системную дату обратно. Как только Блокнот будет закрыт, пакетный файл продолжит свое выполнение и установит системную дату на сохраненное в переменной tempdate значение, т.е. на то, которое было до запуска пакетного файла.
Не забывайте, что если путь до файла, которым запускается программа, содержит пробелы, то его (путь) необходимо заключить в кавычки. Если путь содержит кириллицу, то при написании пакетного файла необходимо использовать текстовый редактор, поддерживающий кодировку DOS (например, FAR). В противном случае, при запуске пакетного файла будет выведено сообщение о том, что "указанный файл не является внутренней или внешней коммандой...".
Если программа проверяет текущую системную дату только при своем запуске и во время работы больше этого не делает, то пакетный файл можно модифицировать, добавив перед именем исполняемого файла программы оператор start, т.е. наш пример будет выглядеть так:

set tempdate=%date:~-10%
date 01-01-04
start notepad.exe
date %tempdate%

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


Как в bat файле дождаться появления определенного файла 
 
Иногда необходимо при появлении определенного файла в папке выполнить какое-то действие. Чтобы организовать проверку появления файла в папке можно использовать следующий пакетный файл

:test
if exist c:\1.txt goto go
sleep 10
goto test
:go
notepad

Такой пакетный файл будет проверять с интервалом 10 секунд наличие в корне диска С файла 1.txt и когда файл 1.txt появится, будет выполнено действие, указанное после метки go, т.е. в этом примере будет запущен Блокнот.
Утилита sleep свободно распространяется в составе Resource Kit. Вы можете её скачать здесь.
Если файл 1.txt большого размера и копируется откуда-то, то может получится так, что пакетный файл проверит его наличие в то время, как файл еще не скопировался или занят другим приложением. В таком случае, попытка выполнить какие-то действия с файлом 1.txt приведет к ошибке. Чтобы этого не произошло пакетный файл можно модифицировать следующим образом

:test
if exist c:\1.txt goto go
sleep 10
goto test
:go
rename c:\1.txt 1.txt
if not errorlevel 0 goto go
del c:\1.txt

Когда файл 1.txt скопировался на диск С не полностью, либо занят другим приложением, попытка его переименовать вызовет ошибку и цикл будет повторяться до тех пор, пока файл не скопируется полностью либо не будет освобожден. После того, как команда rename c:\1.txt 1.txt будет выполнена без ошибки (т.е. файл свободен), то с ним можно выполнять любые действия. В последнем примере это его удаление.


Как добавить комментарии в bat-файл

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

goto start
———————————————————
Этот пакетный файл предназначен
для автоматизации рутинных операций,
выполняемых ночью для синхронизации
содержимого корпоративного ftp-сервера
с ftp-серверами филиалов
———————————————————
Пакетный файл написан 01/01/2004
Последнее исправление внесено 10/02/2004
———————————————————
И т.д.
:start

Такое написание комментария при запуске пакетного файла передаст управление сразу к команде, следующей за меткой start. За это отвечает оператор перехода goto.
Более простые комментарии можно добавить, начиная строки с команды rem или с двух двоеточий, идущих друг за другом.

rem Этот блок устанавливает соединение с удаленным сервером

:: Этот блок проверяет дату изменения файлов

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


Автоматическое создание резервной копии данных 

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

Скрипт архивирует папку файлопомойки (\\SERVER\e$ \Exchange)
и папку с данными юзеров (домашнюю Данные пользователей (\\SERVER\e$ \Departments))
Скрипт не архивирует медиафайлы, так как они занимают вагон места и их потеря у меня не критична 

rem *******************
rem задаём винты где лежат папки для архивирования и винт куда будем бэкапить
rem *******************
SET DRIVE1ST=d:
SET DRIVE2ND=e:

rem *******************
rem пароль на архив
rem *******************
SET PASSWD=qmsdhgsdfgsdfhdsfhsdhf

rem *******************
rem если копировать для надёжности куданить на сетку
rem *******************
rem SET COPYTO=\\shpakk\c$ \!backup

rem ********************
rem *** Проверим путь назначения архива
rem ********************
%DRIVE1ST%
if not exist \!backup md \!backup
if not exist \!backup\Departments md \!backup\Departments
if not exist \!backup\Exchange md \!backup\Exchange
if not exist \!backup\MEDEA_rdisk md \!backup\MEDEA_rdisk
cd \!backup

rem ******************************
rem *** Backup \\SERVER\e$ \Exchange
rem ******************************
SET DIRNAME=Exchange
SET FILENAME=SERVER_Exchange
SET SOURCEDIR=e:\Exchange
rar a -r -m5 -dh -x*.mp3 -x*.fcd -x*.avi -x*.zip -x*.rar -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*
if not exist %DIRNAME%\%FILENAME%_new.rar goto next2
del %DIRNAME%\%FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar
copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%

:next2
rem ***************************
rem *** Backup \\SERVER\e$ \Users
rem ***************************
SET DIRNAME=Departments
SET FILENAME=SERVER_Departments
SET SOURCEDIR=e:\Departments
if not exist %DIRNAME%\%FILENAME%_new.rar goto next3
del %DIRNAME%\%FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_4.rar %FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_3.rar %FILENAME%_4.rar
ren %DIRNAME%\%FILENAME%_2.rar %FILENAME%_3.rar
ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%_2.rar
:next3
rem *******************
rem это если архив будет большим - кусками бить -v357888k
rem *******************
rem rar a -r -m5 -v357888k -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%
rem *******************
rem архивирование пошло, не берём мультимедиа файлы
rem *******************
rar a -r -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%
goto next4

:next4
rem **********************************
rem *** Create repair disk on \\SERVER
rem **********************************
SET DIRNAME=MEDEA_rdisk
SET FILENAME=MEDEA_rdisk
SET SOURCEDIR=%windir%\repair
%windir%\system32\rdisk.exe /s-
rar a -r -m5 -dh -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*
if not exist %DIRNAME%\%FILENAME%_new.rar goto next5
del %DIRNAME%\%FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar
copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%

:next5

В итоге имеем 3 папки: 

Departments, в ней:
SERVER_Departments_2.rar - 2х дневной давности
SERVER_Departments_3.rar - 3х дневной давности
SERVER_Departments_4.rar - 4х дневной давности
SERVER_Departments_new.rar - НОВЫЙ
SERVER_Departments_old.rar - СТАРЫЙ 

Exchange
Так как архивируем обменник - он нам сильно то и не нужен храним только сегодняшний и вчерашний архивы
SERVER_Exchange.rar
SERVER_Exchange_old.rar 

ну и систему на всякий в папке
SERVER_rdisk
SERVER_rdisk.rar
SERVER_rdisk_old.rar

Как запретить повторный запуск приложения 

Если приложение запускается bat-файлом, то отследить (и запретить) его повторный запуск можно таким образом: 

pslist.exe -e "процесс"
if %errorlevel%==1 start "" "программа" 

pslist - бесплатная утилита, которую можно скачать здесь.

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

Достаточно часто необходимо создавать папку с именем равным текущей дате и затем копировать в нее, например, бэкап. Есть насколько вариантов создания такой папки: 

MD %SYSTEMDRIVE%\%date:~-10% 

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

md %systemdrive%\%date:~0,2%_%date:~3,2%_%date:~6,4% 

или 

md %systemdrive%\%date:~6,4%_%date:~3,2%_%date:~0,2% 

Во втором случае, папки будут сортироваться по алфавиту. 

Как вариант, можно рассмотреть добавление к имени файла текущей даты: 

@echo off
for /F "tokens=1-4 usebackq delims=. " %%1 in (`date /t`) do set mydate=%%4.%%3.%%2
ren test.txt test%mydate%.txt 

Имя файла test.txt будет переименовано в test2005.03.05.txt


Можно ли зациклить в bat-файле выполнение команды? 

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

Цикл организуется при помощи следующих команд: 

:loop
... goto loop 

Паузу можно создать при помощи любой команды. Например, при помощи ping: 

ping -n 1 -w 100000 192.168.254.254 >nul 

-n 1 - выполнить один запрос
-w 100000 - ждать ответа 100 секунд (значение указывается в миллисекундах)
192.168.254.254 - IP адрес, который заведомо не существует в локальной сети, т.е. никогда не ответит на ping
>nul - перенаправление всего вывода команды ping в никуда.


Как в bat-файле создать паузу перед выполнением следующей команды? 

Паузу можно создать при помощи любой команды. Например, при помощи ping: 

ping -n 1 -w 100000 192.168.254.254 >nul 

-n 1 - выполнить один запрос
-w 100000 - ждать ответа 100 секунд (значение указывается в миллисекундах)
192.168.254.254 - IP адрес, который заведомо не существует в локальной сети, т.е. никогда не ответит на ping
>nul - перенаправление всего вывода команды ping в никуда.

Можно использовать утилиту sleep.exe из Ресурскита.

Назад

Как открыть файл CMD? Расширение файла .CMD

Что такое файл CMD?

CMD - это расширение файла, обычно связанное с файлами Windows Command Format. Спецификация Windows Command Format была создана Microsoft. Формат файла CMD совместим с программным обеспечением, которое может быть установлено на системной платформе Mac OS, Windows. CMD файл относится к категории Исполняемые файлы так же, как #NUMEXTENSIONS # других расширений файлов, перечисленных в нашей базе данных. Самая популярная программа для обработки CMD файлов - Microsoft Windows, но пользователи могут выбирать из 7 различных программ, которые поддерживают этот формат файлов. На официальном сайте разработчика Microsoft Corporation вы найдете не только подробную информацию о программном обеспечении Microsoft Windows, но также о CMD и других поддерживаемых форматах файлов.

Программы, которые поддерживают CMD расширение файла

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

Как открыть файл CMD?

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

Шаг 1. Скачайте и установите Microsoft Windows

Наиболее распространенной причиной таких проблем является отсутствие соответствующих приложений, поддерживающих файлы CMD, установленные в системе. Наиболее очевидным решением является загрузка и установка Microsoft Windows или одной из перечисленных программ: WordPad, Windows Notepad, NotePad++ text editor. В верхней части страницы находится список всех программ, сгруппированных по поддерживаемым операционным системам. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт Microsoft Windows и загрузите установщик.

Шаг 2. Убедитесь, что у вас установлена последняя версия Microsoft Windows

Вы по-прежнему не можете получить доступ к файлам CMD, хотя Microsoft Windows установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Причиной того, что Microsoft Windows не может обрабатывать файлы с CMD, может быть то, что программное обеспечение устарело. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью Microsoft Windows.

Шаг 3. Назначьте Microsoft Windows для CMD файлов

Если у вас установлена последняя версия Microsoft Windows и проблема сохраняется, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления CMD на вашем устройстве. Процесс связывания форматов файлов с приложением по умолчанию может отличаться в деталях в зависимости от платформы, но основная процедура очень похожа.

Изменить приложение по умолчанию в Windows

  • Щелкните правой кнопкой мыши на файле CMD и выберите «Открыть с помощью опцией».
  • Выберите Выбрать другое приложение → Еще приложения
  • Последний шаг - выбрать опцию Найти другое приложение на этом... указать путь к папке, в которой установлен Microsoft Windows. Теперь осталось только подтвердить свой выбор, выбрав Всегда использовать это приложение для открытия CMD файлы и нажав ОК .

Изменить приложение по умолчанию в Mac OS

  • В раскрывающемся меню, нажав на файл с расширением CMD, выберите Информация
  • Найдите опцию Открыть с помощью - щелкните заголовок, если он скрыт
  • Выберите подходящее программное обеспечение и сохраните настройки, нажав Изменить все
  • Если вы выполнили предыдущие шаги, должно появиться сообщение: Это изменение будет применено ко всем файлам с расширением CMD. Затем нажмите кнопку Вперед», чтобы завершить процесс.
Шаг 4. Проверьте CMD на наличие ошибок

Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл CMD действительным. Проблемы с открытием файла могут возникнуть по разным причинам.

1. Убедитесь, что CMD не заражен компьютерным вирусом

Если CMD действительно заражен, возможно, вредоносное ПО блокирует его открытие. Рекомендуется как можно скорее сканировать систему на наличие вирусов и вредоносных программ или использовать онлайн-антивирусный сканер. CMD файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.

2. Убедитесь, что файл с расширением CMD завершен и не содержит ошибок

Если файл CMD был отправлен вам кем-то другим, попросите этого человека отправить вам файл. В процессе копирования файла могут возникнуть ошибки, делающие файл неполным или поврежденным. Это может быть источником проблем с файлом. При загрузке файла с расширением CMD из Интернета может произойти ошибка, приводящая к неполному файлу. Попробуйте загрузить файл еще раз.

3. Убедитесь, что у вас есть соответствующие права доступа

Существует вероятность того, что данный файл может быть доступен только пользователям с достаточными системными привилегиями. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл Windows Command Format.

4. Убедитесь, что в системе достаточно ресурсов для запуска Microsoft Windows

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

5. Проверьте, есть ли у вас последние обновления операционной системы и драйверов

Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом Windows Command Format. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов CMD.

Как через cmd создать файл: текстовый с расширением txt в папке | IT S.W.A.T.

Здравствуйте, уважаемые читатели сайта itswat.ru. Если вам неизвестно, как через cmd создать файл, и в каких ситуациях это актуально, то данная статья будет вам особо полезна.

Командная строка позволяет реализовывать многие опции, в том числе и создание файла. В этом процессе нет ничего сверхсложного. Следует просто выполнять определённые шаги. Они и представлены в данном материале. Также дано само определение командной строки, поскольку некоторые пользователи не имеют о ней представления.

Содержание статьи:

    1. Определение
    2. Вопрос по запуску
    3. Специфики работы
    4. Создание новой папки
    5. Сотворение файла

Определение

Командной строкой (cmd) называется программная оболочка, которая является обязательной составляющей операционной системы (ОС). Она организует прямую взаимосвязь между компьютером и пользователем. Также помогает решить некоторые дилеммы, связанные с общим функционированием ПК и отдельного софта.

Яркие примеры её применения таковы:

  1. Заражение компьютера вирусами или программами-вредителями.
  2. Неполадки в системных файлах.
  3. Восстановление Windows (на сленге пользователей – «винды»).
  4. Корректировка опций в играх.

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

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

Вопрос по запуску

Перед решением основной дилеммы необходимо изучить версии активации командной строки. Варианты отличаются в зависимости от вида винды (XP, семёрка, восьмёрка или десятка).

Для вызова системного окошка со строкой нужны такие действия:

  1. Зажать синхронно две кнопки: «Win» (обозначается на клавиатуре флажком) и букву R. Принцип работает на Windows 7 и XP. На восьмёрке используется сочетание кнопок «Win» + X (английская буква).
  2. В появившейся графе пропишите cmd и нажмите «Enter».

Можно задействовать меню «Пуск». Наводите курсор в нижний левый угол и нажимаете левую кнопку мыши. Выберите графу «Все программы». Перейдя в раздел под названием «Стандартные», выберите «Командную строку».

Но такой вариант оптимален только для версий системы до Windows 10.

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

Например, если вас интересует, как создать файл в командной строке Windows 10, то в первую очередь вызовите её.

Для этого в меню «Пуск» выбираете разделе «Служебные»,а после этого – командную строку.

Есть и универсальный способ вызова для всех ОС. Он выражается в следующем алгоритме:

  1. Используя проводник, открыть диск с системной папкой (как правило его буквенное обозначение C) с виндой.
  2. Открывается папка «Windows», а в ней -«System32». Там и находится файл «cmd.exe». Это та самая командная строка.
  3. Этот файл запускается от администратора.

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

Специфики работы

Для начала необходимо освоиться в перечне команд, которые пригодны для командной строки. Пропишите слово «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> с именем файла. Пример на изображении:

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

cmd. Работа с файлами из консоли. Часть 2.

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

  • Перемещать файлы.
  • Переименовывать файлы.
  • Выводить содержимое файлов в консоль.
  • Записывать в файл (txt) результат выполнения команды.

Как всегда, все команды будут представлены Вашему вниманию в сопровождении коротких, но ясных описаниях, а так же будут прилагаться «Пошаговые» скриншоты.

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

Как переместить файл через консоль?

Для перемещения файлов используется команда под названием «MOVE». Что бы переместить файл из корня диска «C:\ Move.txt» в папку, в моём случаи это «С:\Test_Move» пишем в консоль:

Результат выполнения команды. Файл «Move.txt» был перемещён в папку «Test_Move»

Если Вам нужно переместить все файлы с конкретным расширением, то в этом случаи стоит писать так:

Для примера я создал 3 файла «Move_1.txt, Move_2.txt и Move_3.txt» Как видно из скриншота выше, все три файла были перемещённых. В этом можно убедится не закрывая консоль.

Для проверки используем команду «DIR»

С перемещением файлов на этом все. Но, если в каталоге куда нужно переместить файл уже есть такой? То пользователь получит сообщения, в котором его спросят подтвердить, перезаписать файл или нет.

Если ввести символ «Y» то файл будет перезаписан. При этом содержимое уже имеющегося файла в каталоге «C:\Test_Move\» будут потеряны.

Если ввести символ «N» файл не будет перемещён.

Если ввести «ALL» то будут перемещены и перезаписаны все файлы с конкретным расширением. При этом, также, содержимое файлов в директории «C:\Test_Move\» будут потеряны.

Примечание: За место «ALL» можно просто ввести букву «А» результат будет додже.

Что бы отключить предупреждения используется ключик «/Y»

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

Как переименовать файл через cmd.exe?

Для того, чтобы переименовать существующий файл используется команда «RENAME» Я создал файл с именем «test.txt» в корне диска «С:\» что бы его переименовать, скажем в «NEW_Name.txt» пишем в консоли.

Файл «test.txt» будет переименован.

Примечание: Команду «RENAME» можно писать короче, просто «REN» от этого результат не изменится.

Можно сменить расширения у всех файлов в каталоге, например с «txt» на «cmd». Для этого делаем так:

Теперь уже в знакомой нам папке «Test_Move» все 3(три) файла приобретут расширение «cmd» за место «txt»

Как вывести содержимое файла в консоль?

Если появилась необходимость просмотреть содержимое файла прямо в cmd. Для этого пользуемся командой «TYPE» Я создал файл и написал в нём адрес своего блога. Теперь попробуем просмотреть данный файл из консоли, не запуская его обычном, привычным образом.

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

Для этого пишем так:


Для примера взял текст с первого попавшегося забугорного сайта.

В конце добавляем «| more» таким образом содержимое файла будет выводится не полностью а отрывками, чтобы просмотреть следующею часть файла жмём «Enter»

Как записать в файл результат выполнения команды?

Для примера запишем в файл результат команды «DIR» В консоль пишем:

Обратите внимание на символ «>» он то и играет здесь главную роль. В итоге появится файл на диске «C:\» с именем «Save.txt» куда будет записан результат выполнения команды.

Если Вам понадобится записать результат команды «DIR» ещё раз, то файл «Save.txt» будет перезаписан и ранние содержимое файла будет удалено!

Что бы этого избежать и просто добавить новый результат не удаляя старый, стоит использовать символ «>» два раза, то есть вот так:

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

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

Спасибо за внимание!

Что это и как его открыть?

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

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


Совет: Если при попытке открыть файл CMD вы получаете сообщение об ошибке, связанной с .SYS file, проблема, вероятно, может быть связана с поврежденными или устаревшими драйверами устройств, которые необходимо обновить. Данный процесс можно облегчить посредством использования программного обеспечения для обновления драйверов, такого как DriverDoc.

Как сохранить вывод Windows cmd в текстовый файл?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся пр
.

.net - диалоговое окно сохранения файла с помощью PowerShell / C # из пакета команд

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где застройщик
.

Как открыть файл CMD?

Что такое файл CMD?

CMD - это расширение файла, обычно связанное с файлами Windows Command Format. Спецификация Windows Command Format была создана Microsoft. Формат файла CMD совместим с программным обеспечением, которое можно установить в Mac OS, системной платформе Windows. CMD-файл относится к категории «Исполняемые файлы», как и 139 других расширений файлов, перечисленных в нашей базе данных. Самая популярная программа для обработки файлов CMD - Microsoft Windows , но пользователи могут выбирать из 7 различных программ, поддерживающих этот формат файлов. На официальном сайте разработчика Microsoft Corporation вы найдете не только подробную информацию о программном обеспечении Microsoft Windows, но также о CMD и других поддерживаемых форматах файлов.

Программы, поддерживающие расширение файла CMD

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

Программы, поддерживающие файл CMD

Windows ОС MAC

Как открыть файл CMD?

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

Шаг 1. Загрузите и установите Microsoft Windows

Наиболее частой причиной таких проблем является отсутствие соответствующих приложений, поддерживающих файлы CMD, установленные в системе.Наиболее очевидное решение - загрузить и установить Microsoft Windows или одну из перечисленных программ: WordPad, Windows Notepad, текстовый редактор NotePad ++. Вверху страницы находится список, содержащий все программы, сгруппированные в зависимости от поддерживаемых операционных систем. Один из самых безопасных способов загрузки программного обеспечения - использование ссылок, предоставленных официальными дистрибьюторами. Посетите веб-сайт Microsoft Windows и загрузите установщик.

Шаг 2. Убедитесь, что у вас установлена ​​последняя версия Microsoft Windows
.

Вы по-прежнему не можете получить доступ к файлам CMD, хотя в вашей системе установлена ​​ Microsoft Windows ? Убедитесь, что программное обеспечение обновлено.Также может случиться так, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Причина, по которой Microsoft Windows не может обрабатывать файлы с CMD, может заключаться в том, что программное обеспечение устарело. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью Microsoft Windows.

Шаг 3. Назначьте Microsoft Windows файлам CMD

Если у вас установлена ​​последняя версия Microsoft Windows и проблема не устранена, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления CMD на вашем устройстве.Процесс связывания форматов файлов с приложением по умолчанию может отличаться в деталях в зависимости от платформы, но основная процедура очень похожа.

Измените приложение по умолчанию в Windows

  • Щелкните правой кнопкой мыши файл CMD и выберите «Открыть с опцией
  • ».
  • Выберите Выбрать другое приложение → Другие приложения
  • Последний шаг - выбрать «Искать другое приложение на этом ПК», указать путь к папке, в которой установлена ​​Microsoft Windows.Теперь осталось только подтвердить свой выбор, выбрав Всегда использовать это приложение для открытия файлов CMD и нажав ОК.

Измените приложение по умолчанию в Mac OS

  • В раскрывающемся меню, доступ к которому можно получить, щелкнув файл с расширением CMD, выберите Информация
  • Найдите параметр Открыть с помощью - щелкните заголовок, если он скрыт
  • Выберите соответствующее программное обеспечение и сохраните настройки, нажав кнопку «Изменить все».
  • Если вы выполнили предыдущие шаги, должно появиться сообщение: Это изменение будет применено ко всем файлам с расширением CMD .Затем нажмите кнопку «Продолжить», чтобы завершить процесс.
Шаг 4. Проверьте CMD на наличие ошибок

Если проблема не исчезнет после выполнения шагов 1-3, проверьте, действителен ли файл CMD. Проблемы с открытием файла могут возникнуть по разным причинам.

1. Убедитесь, что CMD не заражен компьютерным вирусом

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

2. Убедитесь, что файл с расширением CMD является полным и не содержит ошибок.

Если файл CMD был отправлен вам кем-то другим, попросите этого человека повторно отправить вам файл. Во время процесса копирования файла могут возникнуть ошибки, из-за которых файл окажется неполным или поврежденным.Это могло быть источником проблем с файлом. При загрузке файла с расширением CMD из Интернета может произойти ошибка, приводящая к неполному файлу. Попробуйте скачать файл еще раз.

3. Убедитесь, что у вас есть соответствующие права доступа

Существует вероятность того, что к рассматриваемому файлу могут получить доступ только пользователи с достаточными системными привилегиями. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл Windows Command Format.

4. Убедитесь, что в системе достаточно ресурсов для запуска Microsoft Windows

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

5. Проверьте наличие последних обновлений операционной системы и драйверов

Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом Windows Command Format .Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов CMD.

Хотите помочь?

Если у вас есть дополнительная информация о файле CMD, мы будем благодарны, если вы поделитесь ею с нашими пользователями. Для этого воспользуйтесь формой здесь и отправьте нам свою информацию о файле CMD.

.

Сохранить вывод Cmd в текстовый файл в C #

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

cmd save = символ в файл без новой строки

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делят частный к
.

Как написать сценарий CMD | Small Business

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

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

Общие сведения о CMD и написанных командах

В первые дни персональных компьютеров почти все делалось , набирая команду _s в интерфейсе командной строки. Если вы хотели открыть программу, вам нужно было ввести имя программы в командной строке. Сегодня вы можете просто щелкнуть или коснуться значка на экране для выполнения большинства действий. Но Windows по-прежнему принимает печатные команды в утилите CMD. Вы можете писать команды _ для открытия программ, добавления или изменения разрешений учетной записи, резервного копирования файлов или получения информации о вашем компьютере с помощью окна CMD.

Общие сведения о сценариях CMD

Утилиту командной строки в Windows можно открыть в любое время, просто набрав «cmd» в меню Windows Пуск . Здесь вы можете вводить всевозможные команды, чтобы открывать программы, изменять настройки и вносить корректировки в работу Windows и ее программ. За долгую историю Microsoft операционных систем CMD i - относительный новичок. В MS-DOS до выпуска Windows, когда вы хотели запустить сценарий, вы сохраняли его как файл.bat файл. Хотя сегодня вы все еще можете сохранять файлы с этим расширением, большинство людей используют расширение .cmd. _

Использование сценария CMD для открытия Блокнота

Для создания и сохранения переключателя CMD , лучше всего использовать базовый текстовый редактор . Использование текстового процессора, такого как Microsoft Word, затрудняет сохранение файла. Блокнот намного проще в использовании. Итак, чтобы продемонстрировать, как работает CMD , давайте откроем его, чтобы открыть Блокнот .

  1. Введите CMD в меню «Пуск» Windows и нажмите Enter , чтобы открыть CMD.exe.
  2. Измените каталог с папки текущего имени пользователя на базовый каталог, набрав "cd \" и нажав Enter. Теперь перед мигающим курсором должно отображаться "C: \>" .
  3. Введите следующую строку и нажмите Введите: start "c: \ windows \ system32" блокнот.exe

Как только вы нажмете Enter, вы увидите, что Блокнот открыт. Введенная вами команда сообщила Windows запустить программу notepad.exe , которая находится в папке system32 , которая находится внутри папки Windows на диске C: . Команды CMD не чувствительны к регистру, поэтому вы можете использовать строчные и прописные буквы как взаимозаменяемые.

Создание вашего первого скрипта CMD Файл

Теперь, когда «Блокнот» открыт, создайте свой первый файл сценария CMD, введя ту же строку, которую вы использовали в окне CMD, в блокнот: start «c: \ windows \ system32» блокнот.exe

Сохраните пакетный файл на рабочем столе, выбрав «Сохранить как» в меню «Файл». Назовите файл «firstscript.cmd» и нажмите «Сохранить». Команды сценария блокнота должны быть сохранены с расширением .cmd, а не с расширением .txt по умолчанию.

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

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

Использование Echo и Echo Off

Хотя окно CMD не было открыто достаточно долго, чтобы его увидеть, по умолчанию оно всегда будет отображать текст, который был введен в файл CMD при его запуске. Для более длинных скриптов это может быть неудобно, поэтому обычно рекомендуется отключить это с помощью команды Echo Off в первой строке файла CMD.Само по себе Echo Off отключает отображение любого текста, который следует за ним. Чтобы применить команду Echo Off к самой себе, поместите перед ней символ @. Таким образом, ваш двухстрочный сценарий CMD будет выглядеть следующим образом:

start "c: \ windows \ system32" notepad.exe

Создание сценария текстового файла

Этот сценарий CMD перечислит все файлы, которые есть в ваших программных файлах. папку и поместите этот список в новый текстовый файл.

  1. Откройте Блокнот .Введите « @echo off » в первой строке и нажмите Enter.
  2. Во второй строке введите: dir "C: \ Program Files"> list_of_files.txt
  3. Выберите "Сохранить как " в меню "Файл" и сохраните файл как "программа- list-script.cmd ".
  4. Дважды щелкните новый текстовый файл на рабочем столе, чтобы увидеть список файлов и папок.

Текстовый файл появится в той же папке, где находится сам файл сценария.Таким образом, если файл сценария находится на вашем рабочем столе, файл list-of-files.txt также появится на вашем рабочем столе.

Если вы хотите изменить папку, в которой находится текстовый файл, вы можете указать в скрипте отдельную папку. Например, если вы хотите поместить его в папку «Документы», используйте: dir "C: \ Program Files"> C: \ Users \ David \ Documents \ list_of_files.txt

Создание скрипта системной информации

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

Пример сценария ниже предоставит вам основную информацию о вашем компьютере, включая операционную систему и номер версии, версию BIOS, общий объем физической памяти и сетевой адрес вашего компьютера. Чтобы использовать сценарий, введите или скопируйте приведенные ниже строки в новый файл Блокнота и сохраните его с расширением файла .cmd, , например "my_computer_info.cmd. "

В этом примере ECHO OFF используется для предотвращения отображения сценария в окне CMD .

Команда ECHO используется для отображения определенного текста, а также несколько знаков равенства (===) в виде строк для систематизации информации по разделам

Чтобы вставить комментарий для собственного использования - не затрагивая сценарий и не появляясь в окне CMD - сначала введите два двоеточия.Все, что находится в той же строке после "::" , будет закомментировано из сценария.

Команда PAUSE указывает программе CMD оставаться открытой. При нажатии любой клавиши на клавиатуре окно закроется.

:: Этот сценарий CMD предоставляет вам информацию об операционной системе, оборудовании и сети.

ECHO Подождите ... Сбор системной информации.

ECHO =========================

systeminfo | findstr / c: "Название ОС"

systeminfo | findstr / c: "Версия ОС"

ECHO =========================

systeminfo | findstr / c: "Тип системы"

ECHO =========================

systeminfo | findstr / c: «Общая физическая память»

ECHO =========================

ECHO ====== ===================

Использование сценариев для выключения компьютера

Обычно, когда вы выключаете компьютер, это происходит мгновенно.Однако предположим, что вы слушаете аудиокнигу или смотрите обучающее видео - и знаете, что через час заснете. Вы можете использовать сценарий CMD , чтобы сообщить вашему компьютеру о выключении через заданный период времени с помощью команды shutdown.

При использовании команды выключения необходимо включить два дополнительных переключателя или подкоманды . Первый сообщает компьютеру о необходимости выключения или перезагрузки. Вы можете использовать -s или -r.Второй сообщает компьютеру, сколько секунд ждать перед выполнением команды. Для этого вы используете -t, за которым следует количество секунд.

Чтобы выключить компьютер за одну секунду, используйте: shutdown -s -t 01

Чтобы перезагрузить компьютер за восемь секунд, используйте: shutdown -r -t 08

Чтобы выключить компьютер за два часа, используйте : shutdown -s -t 7200

Резервное копирование файлов с помощью сценария CMD

Если вам утомительно создавать резервные копии файлов на втором устройстве хранения, с помощью сценария CMD процесс упрощается.Для этого используйте команду Robocopy . Например, если вы хотите создать резервную копию всех файлов в папке «Документы» на съемном запоминающем устройстве, вы можете записать команду в файл CMD, а затем - в конце дня - просто дважды щелкнуть файл, чтобы активировать его. .

Команде Robocopy необходимо знать, во-первых, какую папку вы хотите скопировать, а во-вторых, где вы хотите разместить копию. И источник, и место назначения должны быть заключены в кавычки.

Если вы не знаете, какие у вас буквы дисков, откройте File Explorer и щелкните «Мой компьютер».

Например, если ваше имя пользователя MyName , ваша папка Documents находится на вашем C: диск и ваша папка Backup находится на съемном носителе D: диск, , тогда команда будет:

robocopy D: \ Users \ MyName \ Documents F: \ Backup / XA: H / W: 0 / R: 1> F: \ Backup \ backup.log

Этот пример немного сложнее, поскольку Robocopy предлагает вам множество вариантов.

D: \ Users \ MyName \ Documents: папка, для которой требуется создать резервную копию.

F: \ Backup: расположение папки резервного копирования.

/ XA: H: игнорирует скрытые файлы.

/ W: 0: ждет 0 секунд между попытками вместо 30 секунд по умолчанию.

/ R: 1 : повторите попытку только один раз, если файл заблокирован.

> F: \ Backup \ backup.log: создать журнал резервного копирования, помещенный в папку резервного копирования.

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

.

Смотрите также