Мне нравится учиться новым способам делать вещи полуавтоматически, поэтому, если у меня есть что-то, что я делаю часто, я пытаюсь автоматизировать это одним щелчком мыши.
Я, однако, довольно неопытен в этом. Я предпочитаю показать, почему сценарий работает, а не просто писать его для меня.
Мой текущий проект такой:
Я пытаюсь найти простой способ одним щелчком мыши обновить каталог zip.
в частности, мод для фермерского симулятора 19, который я сейчас скачиваю в виде почтового индекса с github, который обновляется каждые пару дней.
я думаю, что мне нужно выполнить следующие шаги:
1. Получить новый выпуск (думаю, у меня есть этот рабочий)
2. Новый почтовый релиз (вроде работает, но не совсем правильно)
3. перезаписать существующий zip новым (если я могу исправить свой текущий метод выполнения step2, он делает это автоматически)
4. (необязательно) запуск игры после сохранения всех файлов
Я работал над этим пару дней между поиском вопросов других людей и пробами и ошибками в битах кода.
1:
Я обнаружил, что могу загрузить его автоматически с помощью cmd.exe, используя следующее:
git clone https://github.com/Courseplay/courseplay.git C:\Users\*****\Documents\courseplay
Из того, что я прочитал, я не уверен, хочу ли я этого. является результатом этой команды то же самое, что я получил бы из 'download .zip'
2, 3:
Я узнал, что могу затем сжать и перезаписать существующий файл с помощью powershell:
Compress-Archive -Force -Path "C:\Users\*****\Documents\courseplay" -DestinationPath "C:\Users\*****\Documents\My Games\FarmingSimulator2019\mods\courseplay.zip"
Однако это работает не так, как я надеялся / ожидал, поскольку он добавляет папку в zip-архив, а не просто архивирует ее содержимое ...
, чтобы уточнить, что я ищу:
Courseplay.zip
- некоторые файлы
Я получаю
Courseplay.zip
--Courseplay
---- некоторые файлы
Кроме того, я не смог объединить их в один предмет.
Я не могу использовать команду git из powershell, и я не могу создать или взаимодействовать с файлами в заархивированной папке из cmd.
Я попытался использовать powershell для перехода к cmd несколькими способами, которые я видел в Запуск команды CMD в PowerShell
cmd.exe "git clone https://github.com/Courseplay/courseplay.git c:\Users\*****\Documents\courseplay"
Какие выходы
ourseplay не распознается как внутренняя или внешняя команда,
работающая программа или командный файл.
cmd.exe /c "git clone https://github.com/Courseplay/courseplay.git c:\Users\*****\Documents\courseplay"
Какие выходы
«git» не распознается как внутренняя или внешняя команда,
работающая программа или командный файл.
"git clone https://github.com/Courseplay/courseplay.git c:\Users\*****\Documents\courseplay
" | cmd.exe
Какие выходы
Microsoft Windows [Version 10.0.17134.706]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\*****\Documents>git clone https://github.com/Courseplay/courseplay.git c:\Users\*****\Documents\courseplay
Cloning into 'c:\Users\*****\Documents\courseplay'...
fatal: unable to access 'https://github.com/Courseplay/courseplay.git/': Could not resolve host: github.com
Итак, мои основные проблемы:
Как заархивировать содержимое папки, в которой мой текущий метод создает архив с исходной папкой в качестве подпапки
и
В настоящее время я должен использовать два разных инструмента для этого. Есть ли способ, которым я могу написать это, чтобы сделать все вышеперечисленное одним щелчком мыши.
Я пока не задумывался о том, чтобы запустить игру как часть сценария, поскольку я все еще пытаюсь заставить остальную часть работать, и это было запоздалой мыслью. Я знаю в cmd
start steam://rungameid/787860
запустит его.
Мне было бы хорошо с cmd, powershell или какой-либо другой формой сценариев, которая способна выполнить все вышеперечисленное.
Кроме того, необходимо указать, что нужно ждать между шагами. (по умолчанию он ожидает завершения загрузки с git clone, прежде чем перейти к следующему шагу, или ему нужно сказать, чтобы он дождался окончания загрузки)