Как сделать сценарий windows
7 простых сценариев Windows, чтобы сэкономить ваше время и усилия
Для новичка проникновение в сценарии может быть очень пугающим. Тем не менее, есть несколько основных преимуществ использования скриптов на ПК с Windows 10. Если вы только начинаете, использование сценариев Windows, написанных другими, может дать вам хорошее представление о том, как все работает.
Чтобы изучить пошаговые сценарии, взгляните на простые сценарии Windows, описанные в этой статье, и перейдите оттуда. Выясните, как они работают. Подумайте, как вы можете настроить их для себя. Когда вы освоитесь с тем, что такое сценарий, вы можете подумать о том, чтобы погрузиться в мелочи программирования.
Сценарии с PowerShell
Многие пользователи Windows знают PowerShell как интерфейс командной строки
, Однако мы также можем использовать команды PowerShell для создания сценария, к которому мы можем обратиться позже.
1. Выключите компьютер
Вы можете выключить
ПК с Windows 10 всего за пару кликов, но достаточно ли это быстро? Реализуя скрипт PowerShell, мы можем разместить кнопку выключения в любом месте на рабочем столе. Кроме того, мы можем научиться создавать ярлыки сценариев одновременно.
Откройте Блокнот и введите следующее:
Далее нажмите файл > Сохранить как.
Назовите файл shutdown.cmd и используйте Сохранить как тип выпадающий, чтобы выбрать Все файлы. Запустите этот файл с правами администратора, и ваш компьютер мгновенно выключится.
Вышеуказанное заставит ваш компьютер перезагрузиться после истечения 60 секунд. -р вместо -s мы использовали выше, подсказывает перезагрузку, а -T тег определяет время. Не стесняйтесь настроить целое число, чтобы установить другой промежуток времени.
2. Удалите предустановленные приложения для Windows 10
Установка Windows 10 дает много преимуществ, но справедливо сказать, что операционная система (ОС) поставляется с несколькими приложениями, которые считаются вредоносными программами.
, Вместо того чтобы вручную удалять каждую из этих частей программного обеспечения, мы можем установить скрипт, который сделает эту работу за нас.
Прежде чем использовать эту технику, чтобы избавиться от любых приложений из вашей учетной записи пользователя, рассмотрите последствия. Многие программы и службы выполняют важную работу за кулисами, поэтому не забывайте о том, что вы удаляете.
Откройте окно PowerShell от имени администратора и используйте эту команду для удаления определенного приложения:
Вам нужно найти имя, которое Windows использует для ссылки на каждое отдельное приложение, и вставить его вместо APPNAME. Например, эта команда удалит три обычно нежелательные программы:
Если вы отвечаете за настройку всего парка компьютеров, это действительно может ускорить процесс. Просто выясните, какие приложения вы хотите удалить, напишите сценарий, который избавит вас от всего этого, и запустите его на каждом ПК.
3. Переименуйте пакет файлов
Итак, вы только что загрузили альбом фотографий на свой компьютер? И все они помечены по какому-либо соглашению о присвоении имен, которое ваша камера использует по умолчанию? Не было бы удобно, если бы вы могли прикрепить ключевое слово, которое вы можете искать позже?
Простой скрипт PowerShell может сделать именно это. Введите следующее для массового переименования файлов:
Есть несколько вещей, которые нужно настроить, прежде чем запускать этот скрипт. Сначала настройте путь так, чтобы он указывал на нужную папку. Проверьте, в каком формате находятся ваши изображения, и при необходимости измените тип файла во второй строке. Наконец, замените «IMG» в последней строке текстом, который вы хотите заменить, а «HOLIDAY2016» текстом, который вы хотите добавить.
Если вы загружаете изображения на свой компьютер на регулярной основе, стоит сохранить эту команду в виде файла CMD, как описано выше. Когда вам нужно будет использовать его снова, откройте файл с помощью блокнота
обновите его для поставленной задачи, затем запустите.
Однако будьте осторожны при работе со сценарием, подобным этому. Это не займет много времени, чтобы команда переименовала каждый файл в папке — и это может вызвать большие проблемы, если она указывает на неправильный каталог.
Сценарии с помощью AutoHotKey
С PowerShell мы можем многое сделать, но это не единственный инструмент, доступный пользователям Windows, которые заинтересованы в написании собственных сценариев. AutoHotKey — одна из нескольких сторонних программ, которую можно использовать для создания пользовательских сценариев, выходящих за пределы инструментов, поставляемых в комплекте с Windows 10.
Прежде чем мы начнем собирать любые удобные скрипты AutoHotKey, вам необходимо скачать программное обеспечение здесь. Установите пакет, а затем откройте программу. Чтобы начать работу над новым скриптом, просто щелкните правой кнопкой мыши на рабочем столе и выберите новый > Скрипт AutoHotKey. Переименуйте файл, затем откройте его с помощью Блокнота или аналогичного текстового редактора.
4. Откройте папку в одно мгновение
У всех нас есть папки, к которым мы регулярно возвращаемся. Иногда достаточно удобно разместить их на нашем рабочем столе, но иногда было бы еще лучше, если бы мы могли ввести сочетание клавиш
чтобы открыть его, пока мы работаем над отдельной задачей.
AutoHotKey позволяет настроить пользовательский ярлык для любого места на вашем компьютере. Для этого создайте скрипт, содержащий следующий код:
Чтобы этот код работал, вам нужно заменить «Брэд» своим именем пользователя в Windows. Если вы новичок в AutoHotKey и этот скрипт выглядит как бред, не расстраивайтесь — он более простой, чем вы думаете.
В первой части текста указывается комбинация кнопок, которую пользователь должен будет использовать для выполнения скрипта, в нашем случае — ключ Windows (#), клавиша Shift (^) и D ключ. Этот ярлык связан с командой Run, которую мы пытаемся выполнить парой двоеточий.
5. Возьмите под контроль свои виртуальные рабочие столы
Windows 10 представила виртуальные рабочие столы
полезный способ настройки различных сред для различных задач. Эта функциональность облегчает организацию вашего рабочего пространства. Однако переключение между различными рабочими столами может быть немного более громоздким, чем простая Alt-Tab.
К счастью, есть сценарий AutoHotKey, который позволяет сразу же переносить на другой рабочий стол с помощью простого сочетания клавиш. Это также позволяет легко создавать и удалять рабочие столы по мере необходимости. Код и объяснение того, как работает скрипт, доступны через GitHub.
6. Получите общесистемную функцию автозамены
Автозамена не идеальна, но она может быть очень полезна, если вы склонны к случайной орфографической ошибке. Некоторые мобильные операционные системы, такие как iOS, предоставляют функцию автозамены независимо от того, какое приложение вы используете. Вы можете получить такую же помощь на ПК, внедрив скрипт AutoHotKey.
Вы можете получить предварительно собранную версию скрипта на HowToGeek. Тем не менее, стоит настроить код для его калибровки. Например, если вы регулярно используете сленговые слова, вы должны убедиться, что они не будут исправлены ошибочно.
7. Убедитесь, что предложения начинаются с заглавной буквы
Если общесистемное автозамена кажется слишком радикальным, вам лучше воспользоваться этой настройкой, которая противодействует распространенной ошибке ввода. Правильная прописная буква обязательна, если вы хотите, чтобы ваше письмо выглядело профессионально, и вы можете использовать AutoHotKey, чтобы перепроверить вашу работу на наличие ошибок.
Вы можете найти необходимый код на форуме AutoHotKey. Сценарий гарантирует, что за любым периодом, вопросительным знаком или пояснительным знаком будет следовать заглавная буква.
Следующие шаги в сценарии
Интернет дает нам доступ к целому ряду сценариев
разработанные другими, что мы можем выбирать. Это здорово, но наиболее полезные сценарии — это те, которые вы сами создаете.
Сценарии в этой статье выполняют задачи, которые не требуют вашего контроля. Эти задачи будут варьироваться от пользователя к пользователю. Знание того, как работают сценарии, является первым шагом к созданию сценариев, адаптированных для вашего собственного использования.
Сценарии, которые вы найдете в Интернете, безусловно, сэкономят ваше время и усилия. Однако, если вы потратите время на то, чтобы по-настоящему освоить такие инструменты, как PowerShell и AutoHotKey, вы можете быть удивлены тем, что вы можете придумать.
У вас есть другой сценарий Windows, которым вы хотите поделиться с другими пользователями? Почему бы не присоединиться к беседе в разделе комментариев ниже?
Использование сценария для установки классических приложений в пакетах подготовки Use a script to install a desktop app in provisioning packages
Относится к: Applies to
В этом пошаговом руководстве описаны способы использования возможностей включения сценариев в пакет подготовки Windows 10 для установки приложений Win32. This walkthrough describes how to leverage the ability to include scripts in a Windows 10 provisioning package to install Win32 applications. Также в рамках сценариев можно выполнять другие операции помимо установки приложений. Однако здесь необходимо действовать аккуратно, чтобы предотвратить непредвиденное поведение во время выполнения сценария (см. примечания ниже). Scripted operations other than installing apps can also be performed, however, some care is needed in order to avoid unintended behavior during script execution (see Remarks below).
Этот сценарий поддерживается только для установки приложений в Windows 10 для настольных систем версии 1511 или выше. This scenario is only supported for installing applications on Windows 10 for desktop, version 1511 or higher.
Сборка ресурсов приложения Assemble the application assets
На устройстве, где создается пакет, поместите все ваши ресурсы в известное расположение. On the device where you’re authoring the package, place all of your assets in a known location. Каждый ресурс должен иметь уникальное имя файла, так как все файлы будут скопированы в одну папку temp на устройстве. Each asset must have a unique filename, because all files will be copied to the same temp directory on the device. Довольно часто у разных приложений установщик размещается в файле под названием install.exe или подобном ему, и из-за этого может возникнуть конфликт имен. It’s common for many apps to have an installer called ‘install.exe’ or similar, and there may be name overlap because of that. Чтобы устранить эту проблему, можно использовать метод, описанный в следующем пункте, для включения полной структуры каталогов, которая затем будет развернута во временной папке на устройстве. To fix this, you can use the technique described in the next step to include a complete directory structure that is then expanded into the temp directory on the device. Чаще всего для этого создают подкаталог для каждого приложения. The most common use for this would be to include a subdirectory for each application.
Используйте команду makecab для создания CAB-файлов. Use makecab to create the cab files.
Создание сценария для установки приложения Create the script to install the application
В Windows 10 версии 1607 и более ранних версиях создайте сценарий для выполнения всей работы, необходимой для установки одного или нескольких приложений. In Windows 10, version 1607 and earlier, create a script to perform whatever work is needed to install the application(s). Ниже приведены примеры, которые помогут вам начать работу с создания управляющего сценария, который будет выполнять необходимые установщики. The following examples are provided to help get started authoring the orchestrator script that will execute the required installers. На практике управляющий сценарий может использовать гораздо большее число ресурсов, чем в этих примерах. In practice, the orchestrator script may reference many more assets than those in these examples.
В Windows 10 версии 1703 не нужно создавать управляющий сценарий. In Windows 10, version 1703, you don’t need to create an orchestrator script. В одном приложении может быть только одна командная строка. You can have one command line per app. При необходимости можно создать сценарий, который записывает выходные данные каждого приложения, как описано ниже (вместо одного управляющего сценария для всего пакета подготовки). If necessary, you can create a script that logs the output per app, as mentioned below (rather than one orchestrator script for the entire provisioning package).
Все действия, выполняемые сценарием, должны производиться без отображения пользовательского интерфейса и без участия пользователя. All actions performed by the script must happen silently, showing no UI and requiring no user interaction.
Сценарии будут выполняться на устройстве в системном контексте. The scripts will be run on the device in system context.
Пример отладки Debugging example
Функция подробного ведения журнала не является встроенной, поэтому процедуры для записи журнала должны быть включены в сам сценарий. Granular logging is not built in, so the logging must be built into the script itself. Вот образец сценария, который записывает в файл журнала фразу Hello World. Here is an example script that logs ‘Hello World’ to a logfile. При запуске на устройстве файл журнала будет доступен после завершения подготовки. When run on the device, the logfile will be available after provisioning is completed. Как вы увидите в следующих примерах, рекомендуется записывать в журнал каждое действие, выполняемое сценарием. As you will see in the following examples, it’s recommended that you log each action that your script performs.
Здесь нет отличий от предыдущего установщика кроме того, что приложение устанавливается из установщика с расширением MSI. This is the same as the previous installer, but installs the app from an MSI installer. Обратите внимание, что команда msiexec вызывается с флагом /quiet для соблюдения требований по фоновому выполнению сценариев из пакета подготовки. Notice that msiexec is called with the /quiet flag in order to meet the silent requirement of scripts run from within a provisioning package.
Пример PowerShell PowerShell example
Это пример сценария с ведением журнала, демонстрирующий, как можно запустить сценарий powershell из параметра команд подготовки. This is an example script with logging that shows how to run a powershell script from the provisioning commands setting. Обратите внимание, что сценарий PowerShell, приведенный в этом примере, также должен быть включен в пакет и соблюдать те же требования, что и все остальные сценарии, запускаемые из пакета подготовки: он должен выполняться в фоновом режиме без участия пользователя. Note that the PowerShell script referenced from this example must also be included in the package, and obey the same requirements as all scripts run from within the provisioning package: it must execute silently, with no user interaction.
Вызов нескольких сценариев в пакете Calling multiple scripts in the package
В Windows 10 версии 1703 пакет подготовки может включать несколько CommandLine. In Windows 10, version 1703, your provisioning package can include multiple CommandLines.
В Windows 10 версии 1607 и более ранних версий вы можете использовать только один CommandLine в одном пакете подготовки. In Windows 10, version 1607 and earlier, you are allowed one CommandLine per provisioning package. Пакетные файлы, приведенные выше, — это управляющие сценарии, которые контролируют установку и вызывают все остальные сценарии, включенные в пакет подготовки. The batch files shown above are orchestrator scripts that manage the installation and call any other scripts included in the provisioning package. Из параметра CommandLine, указанного в пакете, должен вызываться именно управляющий сценарий. The orchestrator script is what should be invoked from the CommandLine specified in the package.
Ниже приведена таблица с описанием этих взаимосвязей на основе приведенного выше примера для PowerShell. Here’s a table describing this relationship, using the PowerShell example from above:
Параметр ICD ICD Setting | Значение Value | Описание Description |
---|---|---|
ProvisioningCommands/DeviceContext/CommandLine ProvisioningCommands/DeviceContext/CommandLine | cmd /c PowerShell_Example.bat cmd /c PowerShell_Example.bat | Командная строка, необходимая для вызова управляющего сценария. The command line needed to invoke the orchestrator script. |
ProvisioningCommands/DeviceContext/CommandFiles ProvisioningCommands/DeviceContext/CommandFiles | PowerShell_Example.bat PowerShell_Example.bat | Один управляющий сценарий, указанный в командной строке, который обрабатывает вызовы всех необходимых установщиков и выполнение всех остальных действий, таких как разворачивание CAB-файлов. The single orchestrator script referenced by the command line that handles calling into the required installers or performing any other actions such as expanding cab files. Ведение журнала должно обеспечиваться этим сценарием. This script must do the required logging. |
ProvisioningCommands/DeviceContext/CommandFiles ProvisioningCommands/DeviceContext/CommandFiles | my_powershell_script.ps1 my_powershell_script.ps1 | Другие ресурсы, указанные в управляющем сценарии. Other assets referenced by the orchestrator script. В этом примере используется только один ресурс, но здесь может быть указано множество ресурсов. In this example there is only one, but there could be many assets referenced here. Довольно часто управляющий сценарий используют для вызова ряда установщиков вида setup.exe или install.exe для установки нескольких приложений. One common use case is using the orchestrator to call a series of install.exe or setup.exe installers to install several applications. Каждый из этих установщиков должен быть указан здесь как ресурс. Each of those installers must be included as an asset here. |
Добавление сценария в пакет подготовки (Windows 10 версии 1607) Add script to provisioning package (Windows 10, version 1607)
После записи пакетного файла и подготовки используемых ресурсов для включения в пакет их можно добавить в пакет подготовки в конструкторе конфигураций Windows. When you have the batch file written and the referenced assets ready to include, you can add them to a provisioning package in the Window Configuration Designer.
С помощью конструктора конфигураций Windows укажите всю информацию о том, как сценарий должен выполняться с использованием параметра CommandLine в пакете подготовки. Using Windows Configuration Designer, specify the full details of how the script should be run in the CommandLine setting in the provisioning package. Сюда входят флаги и любые другие параметры, которые вы обычно вводите в командной строке. This includes flags or any other parameters that you would normally type on the command line. Поэтому, если пакет содержит установщик приложения под названием install.exe и сценарий для автоматизации установки под названием InstallMyApp.bat, параметр ProvisioningCommands/DeviceContext/CommandLine должен иметь следующее значение: So for example if the package contained an app installer called install.exe and a script used to automate the install called InstallMyApp.bat, the ProvisioningCommands/DeviceContext/CommandLine setting should be configured to:
В конструкторе конфигураций Windows это выглядит следующим образом: In Windows Configuration Designer, this looks like:
По завершении всех действий выполните сборку пакета. When you are done, build the package.
Примечания Remarks
Взаимодействие с пользователем и вывод на консоль не поддерживаются при использовании ProvisioningCommands. No user interaction or console output is supported via ProvisioningCommands. Вся работа должна выполняться автоматически. All work needs to be silent. Если ваш сценарий попытается выполнить какие-либо из указанных ниже действий, это приведет к возникновению неопределенного поведения, что может привести устройство в не подлежащее восстановлению состояние, если эти действия выполняются во время установки или запуска при первом включении: а) If your script attempts to do any of the following it will cause undefined behavior, and could put the device in an unrecoverable state if executed during setup or the Out of Box Experience: a. Вывод на консоль. б) Echo to console b. Отображение каких-либо данных на экране. в) Display anything on the screen c. Отображение пользователю диалогового окна или мастера установки. Prompt the user with a dialog or install wizard
При применении во время первой загрузки подготовка выполняется на ранней стадии загрузки и до установления пользовательского контекста, поэтому важно включать сюда только те установщики, которые могут выполняться в этот момент. When applied at first boot, provisioning runs early in the boot sequence and before a user context has been established; care must be taken to only include installers that can run at this time. Другие установщики можно подготовить с помощью средства управления. Other installers can be provisioned via a management tool.
Если устройство приходит в неподлежащее восстановлению состояние из-за некачественного сценария, его можно сбросить с помощью функций восстановления в Windows 10. If the device is put into an unrecoverable state because of a bad script, you can reset it using recovery options in Windows 10.
Ресурсы CommandFile развертываются на устройстве во временную папку, уникальную для каждого пакета. The CommandFile assets are deployed on the device to a temporary folder unique to each package.
Параметры командной строки будут выполняться в том каталоге, в котором файлы CommandFiles развернуты как в рабочий каталог. The command line will be executed with the directory the CommandFiles were deployed to as the working directory. Это означает, что вам не нужно указывать полный путь к ресурсам в командной строке и в сценариях. This means you do not need to specific the full path to assets in the command line or from within any script.
Компонент подготовки среды выполнения будет пытаться запускать сценарии из пакета подготовки как можно раньше, в зависимости от того, на какой стадии пакет PPKG был добавлен. The runtime provisioning component will attempt to run the scripts from the provisioning package at the earliest point possible, depending on the stage when the PPKG was added. Например, если пакет добавлен во время запуска при первом включении, он будет выполняться сразу же после применения пакета, когда процедура запуска при первом включении еще не закончена. For example, if the package was added during the Out-of-Box Experience, it will be run immediately after the package is applied, while the out of box experience is still happening. Это происходит до того, как пользователю будут предложены варианты настройки учетной записи. This is before the user account configuration options are presented to the user. На экране появится диалоговое окно с вращающимся индикатором хода выполнения и надписью «подождите». A spinning progress dialog will appear and “please wait” will be displayed on the screen.
С этого момента время ожидания для процесса подготовки составляет 30 минут. There is a timeout of 30 minutes for the provisioning process at this point. Все сценарии и процедуры установки должны быть завершены в течение этого времени. All scripts and installs need to complete within this time.
Сценарии выполняются в фоновом режиме, по мере того как продолжается выполнение остальных частей процесса подготовки. The scripts are executed in the background as the rest of provisioning continues to run. Для пакетов, добавленных в существующие системы путем двойного щелчка для установки, уведомлений о том, что подготовка или выполнение сценария завершены, нет. For packages added on existing systems using the double-click to install, there is no notification that provisioning or script execution has completed