vovan1982
- Стаж: 9 лет 10 месяцев
- Сообщений: 1130
- Репутация:76[+] [-]
- Откуда: Ростов-на-Дону
|
grafmontekristo, это значит, что папка в которой находится батник.
|
grafmontekristo
- Стаж: 1 год 1 месяц
- Сообщений: 17
- Репутация:0[+] [-]
|
101491папка в которой находится батник Значит не требеется изменять на ExclusionPath="C:\Path\to\folder with spaces\\" Может быть требуется ввести в исключения на другого диска, а тут прописска на "C:\Path\to\folder with spaces\\"
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3817
- Репутация:127[+] [-]
|
Команда НЕ работаетrobocopy C:\Path\ "D:\Path\" -Команда РАБОТАЕТ.robocopy C:\Path\ "D:\Path\\" --- Поскольку разные части Виндовс пишут разные команды индусов, разные утилиты ведут себя по-разному. Но общее всё же встречается.
|
grafmontekristo
- Стаж: 1 год 1 месяц
- Сообщений: 17
- Репутация:0[+] [-]
|
pause101493robocopy C:\Path\ "D:\Path\\" Так правильно?echo "%~dp0" pause wmic /NAMESPACE:\\"root\Microsoft\Windows\Defender PATH MSFT_MpPreference call Add ExclusionPath="robocopy C:\Path\ "D:\Path\\" Если нет, подравьте пожалуйста полностью.
|
Отправлено: 30-Окт-2023 12:08
(спустя 1 день 23 часа)
yegres
- Стаж: 1 год 8 месяцев
- Сообщений: 15
- Репутация:1[+] [-]
|
Добрый день. Есть хорошая утилита MAS 2.4, для активации Windows и MsOffice. Для запуска крайней версии достаточно в Power Shell ввести команду:irm https://massgrave.dev/get | iex Подскажите, как можно автоматизировать данный процесс, без копирования этого кода и вставки в Power Shell? Т.е. запустил батник, а он уже запустил Power Shell и ввел туда этот код, или возможно как-то по другому, но чтобы это получалось автоматом. Либо чтобы это был какой-то файл, содержащий этот код, при нажатии правой кнопкой мыши можно было открыть его в Power Shell. UPD darkalexx4, спасибо, все отлично заработало.
Последний раз редактировалось: yegres (2023-10-30 12:22), всего редактировалось 1 раз
|
darkalexx4
- Стаж: 9 лет 9 месяцев
- Сообщений: 175
- Репутация:7[+] [-]
- Откуда: Минск
|
grafmontekristo,101508Добрый день.
Есть хорошая утилита MAS 2.4, для активации Windows и MsOffice.
Для запуска крайней версии достаточно в Power Shell ввести команду: irm https://massgrave.dev/get | iex Подскажите, как можно автоматизировать данный процесс, без копирования этого кода и вставки в Power Shell? Т.е. запустил батник, а он уже запустил Power Shell и ввел туда этот код, или возможно как-то по другому, но чтобы это получалось автоматом. Либо чтобы это был какой-то файл, содержащий этот код, при нажатии правой кнопкой мыши можно было открыть его в Power Shell. Как вариант@echo off powershell -ExecutionPolicy Bypass -Command "irm https://massgrave.dev/get | iex" Затем сохраните этот файл с желаемым именем, например, run_script.bat. Когда вы выполните этот батник, он запустит PowerShell с параметром -ExecutionPolicy Bypass, который позволит выполнить сценарий без ограничений на выполнение сценариев. Затем команда irm https://massgrave.dev/get | iex будет выполнена в PowerShell. Добавлено через 8 минут 34 секунды:
101494pause 101493robocopy C:\Path\ "D:\Path\\" Так правильно? echo "%~dp0" pause wmic /NAMESPACE:\\"root\Microsoft\Windows\Defender PATH MSFT_MpPreference call Add ExclusionPath="robocopy C:\Path\ "D:\Path\\" Если нет, подравьте пожалуйста полностью. Я конечно не эксперт, но вот что получил по вашему запросу:Если это то, что вам нужно?@echo off echo "%~dp0" pause :: Выполнение wmic для добавления исключения в Windows Defender wmic /NAMESPACE:\\root\Microsoft\Windows\Defender PATH MSFT_MpPreference call Add ExclusionPath="C:\Path" wmic /NAMESPACE:\\root\Microsoft\Windows\Defender PATH MSFT_MpPreference call Add ExclusionPath="D:\Path" :: Запуск robocopy (если это то, что вы хотите сделать) robocopy C:\Path D:\Path /E /MIR pause Либо так@echo off setlocal enabledelayedexpansion :: Получение текущей директории set "current_directory=%cd%" :: Добавление текущей директории в исключения Windows Defender wmic /namespace:\\root\Microsoft\Windows\Defender path MSFT_MpPreference call AddExclusionPath="%current_directory%" :: Запуск robocopy для копирования из C:\Path в D:\Path robocopy C:\Path D:\Path /E /MIR pause
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3817
- Репутация:127[+] [-]
|
Я привел команду robocopy просто как пример того, как работает/не работает связка \"
|
cartmenezz
- Стаж: 9 лет 2 месяца
- Сообщений: 527
- Репутация:14[+] [-]
- Откуда: Калининград
|
Приветствую. Помогите решить загадку. Недавно настраивал ноут, Tecno T1, у них на сайте драйвера в любопытном виде - сразу весь комплект, не инсталляторы, а распакованные, плюс батник для автоустановки. Выглядит так:Картинка Текст батника:AutoInstallDrivers.bat@ECHO OFF REM ________________________________________________________________ >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel%' NEQ '0' ( echo Open Command Prompt Administrator... goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) pushd "%CD%" CD /D "%~dp0" REM ________________________________________________________________ @echo OFF @echo. ::Copy this AutoInstallDrivers.bat to the divers directory,run as admin. @echo off cd /d "%~dp0" set debug=0 set ST106=1 @echo Installing all drivers... for /f "delims=" %%a in ('dir /a-d/s/b *.inf') do ( if %debug% EQU 1 @echo installing "%%~a" >>msg.txt &&pnputil -i -a "%%~a" >>msg.txt if %debug% EQU 0 @echo installing "%%~a" && pnputil -i -a "%%~a" @ping 127.0.0.1 -n 3 >nul) if ST106 EQU 0 goto :end @echo. @echo Installing supplement drivers... for /f "delims=" %%c in ('dir /a-d/s/b 43430r0nvram.txt') do ( if exist "%%~c" copy "%%~c" C:\Windows\System32\drivers\ ) for /f "delims=" %%c in ('dir /a-d/s/b 43430r1nvram.txt') do ( if exist "%%~c" copy "%%~c" C:\Windows\System32\drivers\ ) ping 127.0.0.1 -n 3 >nul @echo "*** DTS APO4x Extension Package installation ***" pnputil -a "%~dp0DTS_UWP_APO4x_MSFT_SIGNED_Transsion_EXT_1_11_6_0_beta\dtsapo4Transsionextensionpkg.inf" /install @echo "*** DTS APO4x Core Package installation ***" pnputil -a "%~dp0DTS_UWP_APO4x_Core_MSFT_SIGNED_1_11_6_0_21H1_21H2_22H2\dtsapo4x64.inf" /install @echo "*** DTS APO4x Service installation ***" pnputil -a "%~dp0DTS_UWP_APO4x_RPCService_MSFT_SIGNED_1_11_2_0_21H1_21H2_22H2\dtsapo4xservice.inf" /install @echo "*** DTS:X Ultra HSA SWC installation ***" pnputil -a "%~dp0DTSXUltra_UWP_APO4x_HSA_MSFT_SIGNED_1_11_4_0_21H1_21H2_22H2\dtsapo4xultrahsa.inf" /install @echo "*** DISM install DTS:X Ultra package ***" cd %~dp0DTSXUltraHSA_1.11.14.0_x64_bundle.appxupload_Windows10_PreinstallKit dism.exe /online /Add-ProvisionedAppxPackage /PackagePath:"541bbf7c680b4237a82c8eb42d98100c.appxbundle" /LicensePath:"541bbf7c680b4237a82c8eb42d98100c_License1.xml" /DependencyPackagePath:"Microsoft.NET.Native.Framework.1.7_1.7.27413.0_x64__8wekyb3d8bbwe.appx" /DependencyPackagePath:"Microsoft.NET.Native.Runtime.1.7_1.7.27422.0_x64__8wekyb3d8bbwe.appx" /DependencyPackagePath:"Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe.appx" /Region:"all" cd .. ping 127.0.0.1 -n 3 >nul @set L=C:\Windows\temp\install.log @set IP=[********Install Pass********] @set IPR=[********Install Pass, Restart is need********] @set IF=[********Install Fail********] @echo [%time%]=========Install Realtek Audio App========== >> %L% DISM /Online /Add-ProvisionedAppxPackage /PackagePath:"%~dp0Apps\ecaea797ab7b46ccb32127ca92166a19.appxbundle" /licensepath:"%~dp0Apps\ecaea797ab7b46ccb32127ca92166a19_License1.xml" /DependencyPackagePath:"%~dp0Apps\Microsoft.VCLibs.140.00_14.0.30704.0_arm__8wekyb3d8bbwe.appx" /DependencyPackagePath:"%~dp0Apps\Microsoft.VCLibs.140.00_14.0.30704.0_arm64__8wekyb3d8bbwe.appx" /DependencyPackagePath:"%~dp0Apps\Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe.appx" /DependencyPackagePath:"%~dp0Apps\Microsoft.VCLibs.140.00_14.0.30704.0_x86__8wekyb3d8bbwe.appx" /Region="All" >> %L% @if %errorlevel%==0 (echo [%time%]%IP% >> %L% & goto resultpass) @if %errorlevel%==3010 (echo [%time%]%IPR% >> %L% & goto resultpass) @if not %errorlevel%==0 goto ERR :resultpass @echo [%time%]=========Realtek Audio App Install Complete========= >> %L% ECHO ERRRORLEVEL=%ERRORLEVEL% >> %L% @set LL=C:\Windows\temp\ALC256_HSA.log @echo [%time%] >>%LL% color 0a @echo =================================================================== @ECHO. @ECHO PPPPPPPPpp A sSSSSSSSSs sSSSSSSSSs @ECHO PPP PPp AAA SSs SS SSs SS @ECHO PPP PPP AA AA SSS SSS @ECHO PPP PPP AA AA SSS SSS @ECHO PPP PPP AA AA SSSSSs SSSSSs @ECHO PPPPPPPPPP aAA AAa SSSSSs SSSSSs @ECHO PPP aAAAAAAAAAAAa SSS SSS @ECHO PPP AAA AAA SSs SSs @ECHO PPP AA AA Ss SSS Ss SSS @ECHO PPP AA AA SSSSSSSSSS SSSSSSSSSS @ECHO. @echo =================================================================== pause shutdown -r -t 3 pause pause :ERR echo [%time%]%IF% >> %L% ECHO ERRRORLEVEL=%ERRORLEVEL% >> %L% :fail color 04 echo %error% fail @ECHO. @ECHO FFFFFFFFFFFFFF A IIIIIIIIIIIII LLL @ECHO FFF AAA III LLL @ECHO FFF AA AA III LLL @ECHO FFF AA AA III LLL @ECHO FFFFFFFFFFFFF AA AA III LLL @ECHO FFF aAA AAa III LLL @ECHO FFF aAAAAAAAAAAAa III LLL @ECHO FFF AAA AAA III LLL @ECHO FFF AA AA III LLL @ECHO FFF AA AA IIIIIIIIIIIII LLLLLLLLLLLLL @ECHO. popd pause pause EXIT /B 1 Не могу вдуплить вот что: 1. Изначально идет поиск и установка всех inf в рядом лежащих каталогах:for /f "delims=" %%a in ('dir /a-d/s/b *.inf') do ( if %debug% EQU 0 @echo installing "%%~a" && pnputil -i -a "%%~a" ) 2. Чуть позже добавлено еще несколько строк для установки:@echo "*** DTS APO4x Extension Package installation ***" pnputil -a "%~dp0DTS_UWP_APO4x_MSFT_SIGNED_Transsion_EXT_1_11_6_0_beta\dtsapo4Transsionextensionpkg.inf" /install @echo "*** DTS APO4x Core Package installation ***" pnputil -a "%~dp0DTS_UWP_APO4x_Core_MSFT_SIGNED_1_11_6_0_21H1_21H2_22H2\dtsapo4x64.inf" /install @echo "*** DTS APO4x Service installation ***" pnputil -a "%~dp0DTS_UWP_APO4x_RPCService_MSFT_SIGNED_1_11_2_0_21H1_21H2_22H2\dtsapo4xservice.inf" /install @echo "*** DTS:X Ultra HSA SWC installation ***" pnputil -a "%~dp0DTSXUltra_UWP_APO4x_HSA_MSFT_SIGNED_1_11_4_0_21H1_21H2_22H2\dtsapo4xultrahsa.inf" /install Вот я и не могу понять, зачем? По идее эти дрова итак будут добавлены и установлены на первом этапе... Смысл команд вроде как один... Бывают ситуации, когда требуется второй проход? ... Если что, архивы с дровами здесь - ссылка
|
Отправлено: 07-Ноя-2023 00:06
(спустя 1 день 5 часов)
kamyshoviy
- Стаж: 10 лет
- Сообщений: 63
- Репутация:6[+] [-]
|
101562... Бывают ситуации, когда требуется второй проход? на живую + оф. драйвера,.. нет, точно нет; да, и, у Майков ни чего похожего ни где не задокументировано (кто найдёт, делись ссылкой). У меня их док от 11.07.2018 за pnputil завалялся (ещё с устаревшим синтаксисом, ну, как с устаревшим, тот, что в батнике), там, тоже, ни слова об этом. Я в батниках топором, но, при установке на живую, кинуть в CMD стандартную команду мозгов хватит => смущает синтаксис pnputil для свежего железа; /install ввели ни с первой версии 10'ки (но за долго, даже, если от cpu 10-gen считать), а тут "Франкенштейн": -a и /install в одной строке... он (писатель батника) когда шаблон-заготовку сделал?, может и была у M$ когда какая заморочка, кто же теперь вспомнит ...а может, всё проще: "любимый чемодан с тараканами" давно на мороз не выносили.
|
cartmenezz
- Стаж: 9 лет 2 месяца
- Сообщений: 527
- Репутация:14[+] [-]
- Откуда: Калининград
|
kamyshoviy, спасибо что отозвались.101567он (писатель батника) когда шаблон-заготовку сделал? Черт знает, но учитывая что ноуты новые, делались эти наборы недавно (но привычки возможно старые).101567тут "Франкенштейн": -a и /install в одной строке Я понял о чем вы, смесь старого синтаксиса и нового, но работать по идее все равно должно, раз уж старый синтаксис еще поддерживается, как я понимаю... по крайней мере встроенная справка эти ключи еще не забыла:Картинка ... В общем, главное не мне одному кажется лишним второй проход для некоторых драйверов))
|
cartmenezz
- Стаж: 9 лет 2 месяца
- Сообщений: 527
- Репутация:14[+] [-]
- Откуда: Калининград
|
Приветствую! Пытался загуглить, но все не то, сложно сформулировать то что мне надо. Вопрос: возможно ли как-то удалить вывод последней строки? Прописан вывод пустой строки (echo.), нужно следующей командой ее удалить/отменить. Убрать "echo." не получается, так как там множественное выполнение через цикл. Это конечно же не такая большая проблема, просто лишний отступ мозолит глаза, не эстетично)) Возможно есть какая-то хитрость? Ничего в голову не приходит. ... Конструкция примерно такая::start cls echo 1 - команда echo 2 - команда echo 3 - команда и т.д. echo n - команда echo. set var=&set /p "var=ENTER: "|| GoTo :start cls echo. echo YOUR CHOICE: [%var%] for %%A in (%var%) do ( echo. SetLocal call :%%A EndLocal ) echo. pause GoTo :start :1 echo 1 - Команда такая-то действия... exit /b :2 echo 2 - Команда такая-то действия... exit /b :3 echo 3 - Команда такая-то действия... exit /b и т.д. Т.е. в скрипте много меток с номерами, на экран выведены их номера с краткими пояснениями. Номера нужных "команд" вводятся в строку, выполняются поочередно. Перед переходом к каждой новой меткой у меня вывод пустой строки (решил что компактнее будет прописать один раз перед переходом, меньше лишних строк, менять это не хотелось бы). Так же имеется пара комбинаций, типа::101 call :41 echo. call :42 echo. call :43 echo. call :52 echo. call :61 echo. call :62 echo. call :65 echo. call :91 exit /b Которые как правило сочетаются с отдельными пунктами (типа 101 50 67 ...). И всегда между выводами на экран отступ ровно в одну строку. Проблема появилась, когда решил закомпактить комбинированные пункты, как-то так::101 for %%A in (41 42 43 52 61 62 65 91) do ( call :%%A echo. ) exit /b Ранее, после перехода на последнюю метку я просто не выводил пустую строку, теперь так не получается (если прописать echo. перед call :%%A тоже не то, сверху увеличивается отступ). Возможно вопрос глупый (да и я понимаю, что проблема надумана), и командный процессор не умеет ходить обратно, и затереть эту строку в принципе невозможно, но мало ли... Ничего не придумал, кроме как писать последний пункт вне цикла::101 for %%A in (41 42 43 52 61 62 65) do ( call :%%A echo. ) call :91 exit /b Но это как-то коряво... К тому же скрипт сильно разросся, плюс я бывает очень подолгу им не занимаюсь, так что с моей плохой памятью есть опасения, что этот момент вылетит из головы - не замечу потом строчку за скобкой и пропишу все номера в цикл, останется лишняя команда. В общем, хотелось бы как-то иначе, чтобы все нужные номера команды были вместе, в скобках... Да и просто интересно, возможно ли такое реализовать (удалить новой командой часть вывода предыдущей команды)
|
cartmenezz
- Стаж: 9 лет 2 месяца
- Сообщений: 527
- Репутация:14[+] [-]
- Откуда: Калининград
|
Ander_73, Гениально однако Огромнейшее спасибо
|
Страница 86 из 94
Текущее время: 24-Ноя 05:53
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|