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

Исходя из моих поисков, основной причиной использования CMD (*) является автоматизация. Я не нашел конкретных случаев. Большинство примеров являются либо надуманными примерами, либо простыми случаями, когда автоматизация на самом деле не нужна.

Отсюда мой вопрос - каковы примеры действий, которые CMD и командные файлы используются в реальном мире? (И , как показано ниже - в стороне от личных предпочтений и где нет GUI.) Я не ищу сам сценарий, просто его цель.

* Помимо личных предпочтений или случаев, когда графический интерфейс недоступен.

2 ответа2

1

CMD - это просто небольшая электростанция, доступная на всех ПК с Windows. net user {samid} /domain может быстро сообщить мне большую статистику, которую я хочу узнать об учетной записи домена и dsquery user -samid {samid}|dsget user -memberof -expand|dsget group -samid покрывает все остальное, рекурсивно просматривая членство в группах для учетной записи домена.

Я могу быстро найти все подключенные сетевые расположения на ПК: for /f "tokens=3" %f in ('net use ^|findstr \\') do echo %f

Или пакеты могут использоваться для выполнения работ, где компиляция нецелесообразна

@echo off 
echo This script will close Internet explorer then clear out your temp files
pause
taskkill /f /im iexplore.exe
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
"C:\Program Files\Internet Explorer\iexplore.exe"

Это был быстрый и грязный пакетный файл, который я собрал, чтобы очистить временные файлы IE. Проще поместить файл bat на рабочий стол, а затем попытаться объяснить, как очистить временные файлы.


Наконец, потому что я могу целый день рассказывать о преимуществах и полезности CMD, он многому научил меня, как работает сценарий и как компьютер интерпретирует команды. Только когда я изучил CMD/Batch, я действительно заинтересовался написанием сценариев и программированием.


Редактировать:

Просто конкретный пример того, как CMD более эффективен, чем C # (Hello World!)

C #

public class Hello1
{
   public static void Main()
   {
      System.Console.WriteLine("Hello, World!");
   }
}

CMD

эхо Привет, Мир!

партия

@echo Hello, World!
@pause  

Или же

@echo off
echo Hello, World!
pause

У CMD и Batch намного меньше накладных расходов, когда речь идет о простых задачах.

1

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

Я написал очень простой пакетный скрипт несколько месяцев назад, потому что хотел, чтобы набор команд запускался каждый вечер в 18:00. Итак, я создал этот скрипт, который использует команды mercurial для проверки изменений (владелец сайта, который я обслуживаю, добавляет и удаляет вещи с помощью FTP). Затем фиксирует любые изменения и толкает их к источнику (мой сервер).

hg addremove
hg commit -m "Daily update from Prod"
hg push

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

Тем не менее, я использую сценарии оболочки (то же самое в разных ОС). Тот, который я использую чаще всего, гарантирует, что у меня подключен сетевой диск, регистрирует меня в нашем хранилище исходного кода (конечно, запрашивая пароль) и запускает скрипт сборки. В общем, мне потребовалось бы 3 минуты для ввода команд, чтобы сделать это самостоятельно, но когда я это делал, я регулярно забывал проверять, что мой привод был подключен (подключен), и это вызывало задержку от 10 до 20 минут ... Сценарий не забывает.

Раньше я был системным администратором в колледже и все время использовал пакетные сценарии, в основном, как вы упоминали, для автоматизации. Когда я начал там, мы должны были посетить каждую машину, чтобы вручную обновить антивирус и запустить сканирование. Я создал пакетный скрипт, который будет копировать обновление из определенного места в нашей сети, устанавливать его и запускать сканирование. Затем на каждой машине в группе вставьте мою дискету в дисковод, нажмите Window-R (чтобы открыть диалоговое окно запуска) и введите:\up.bat ... После того, как я начал несколько, я пинался и читал, пока они не закончили.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .