Какие инструменты и языки доступны для сценариев оболочки Windows? - PullRequest
3 голосов
/ 28 августа 2008

Я хочу знать, какие есть варианты выполнения некоторых скриптовых заданий на платформе Windows. Мне нужны такие функции, как манипуляции с файлами, редактирование реестра и т. Д. Можно ли редактировать файлы с помощью инструментов сценариев? Какие еще функции предлагают инструменты для работы со сценариями Windows? Можно ли все, что можно сделать с помощью графического интерфейса Windows, с помощью языка сценариев?

Ответы [ 12 ]

5 голосов
/ 28 августа 2008

Я думаю, Windows PowerShell от Microsoft является в настоящее время фаворитом для такого рода вещей.

1 голос
/ 20 ноября 2009

Я бы порекомендовал «Take Command» ( JPSoft ), которая больше похожа на «cmd.exe», чем PowerShell. Мы используем здесь в ESSS в течение многих лет.

1 голос
/ 28 августа 2008

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

Powershell невероятно мощен, но установленный домен на данный момент лишь немного больше, чем те люди, которым нравится использовать powershell и администрируемые ими серверы. Если вы управляете машинами, на которых пишете сценарии, и можете установить установленный PowerShell, то лучше всего использовать PowerShell. В противном случае пакетные файлы - лучший способ.

Powershell позволяет вам делать все, что можно, но некоторые вещи будут сложнее, чем другие:)

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

1 голос
/ 28 августа 2008

Как насчет установки версии Windows Python , Perl или вашего любимого языка? Они должны предлагать всю необходимую вам функциональность.

1 голос
/ 28 августа 2008

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

http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx

0 голосов
/ 20 апреля 2019

Powershell может делать то, что вам нужно.

манипуляции с файлами

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

(Get-Content c:\temp\test.txt).replace('[MYID]', 'MyValue') | Set-Content c:\temp\test.txt

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

редактирование реестра

Это легко сделать с помощью Powershell. Вот пример кода от Блоги разработчика Microsoft :

Set-ItemProperty -Path HKCU:\Software\hsg -Name newproperty -Value anewvalue

0 голосов
/ 28 августа 2008

Сценарии - это взрыв.

Лично мне нравится писать какие-то злые маленькие командные файлы. Вы можете найти программу командной строки, которая сделает что угодно. Я предпочитаю пакетные файлы в основном потому, что они переносимы с одной машины на другую с максимальным количеством zip-файлов с несколькими инструментами Unix (SSED, GREP, GAWK). есть командная строка REG.Exe, которая может даже выполнять изменения и чтение реестра. Вы можете анализировать вывод команд с помощью цикла «FOR / f».

PowerShell имеет больше ... ошибка .. Мощность (2-й пост, в котором я написал это, но ничего не могу поделать.)

Если вы хотите взглянуть на автоматизацию Windows, посмотрите AutoHotKey .

Что вы пытаетесь автоматизировать? Это может помочь нам сузить то, что было бы полезно.

  • Josh

РЕДАКТИРОВАТЬ: для записи я напечатал это одновременно с @jameso. Если кто-то на работе не задавал мне вопрос, я мог бы написать перед ним. Хотя я немного вздрогнул от сходства поста ...

0 голосов
/ 28 августа 2008

Вчера я мог починить это для тебя;)

Каковы все инструменты / языки для сценарии оболочки Windows?

читается лучше как

Какие инструменты и языки доступны для сценариев оболочки Windows?

0 голосов
/ 28 августа 2008

У меня установлен cygwin, поэтому я могу запускать сценарии оболочки bash для своих нужд автоматизации. Кроме того, когда мне нужно что-то более естественное для Windows, я использую комбинацию batch + jscript (работает на cmdline, если у вас установлена ​​Visual Studio.Net, просто вызовите «cscript XXX.js»).

0 голосов
/ 28 августа 2008

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

Если у вас все в порядке с дополнительной установкой, вы можете попробовать Cygwin. Это позволяет вам иметь в своем распоряжении полную командную строку Linux bash и все связанные с ней инструменты.

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

Вы также можете быть заинтересованы в VB Script (Flame Off). VB Script должен работать практически при любой недавней стандартной установке Windows и намного более функциональн, чем командная строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...