vovan1982
- Longevity: 9 years 8 months
- Posts: 1121
- REPUTATION:76[+] [-]
- Location: Ростов-на-Дону
|
grafmontekristo, это значит, что папка в которой находится батник.
|
grafmontekristo
- Longevity: 1 year
- Posts: 17
- REPUTATION:0[+] [-]
|
101491папка в которой находится батник Значит не требеется изменять на ExclusionPath="C:\Path\to\folder with spaces\\" Может быть требуется ввести в исключения на другого диска, а тут прописска на "C:\Path\to\folder with spaces\\"
|
Ander_73
- Longevity: 7 years 8 months
- Posts: 3750
- REPUTATION:127[+] [-]
|
Команда НЕ работаетrobocopy C:\Path\ "D:\Path\" -Команда РАБОТАЕТ.robocopy C:\Path\ "D:\Path\\" --- Поскольку разные части Виндовс пишут разные команды индусов, разные утилиты ведут себя по-разному. Но общее всё же встречается.
|
grafmontekristo
- Longevity: 1 year
- Posts: 17
- REPUTATION: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-Oct-2023 12:08
(after 1 day 23 hours)
yegres
- Longevity: 1 year 6 months
- Posts: 15
- REPUTATION:1[+] [-]
|
Добрый день. Есть хорошая утилита MAS 2.4, для активации Windows и MsOffice. Для запуска крайней версии достаточно в Power Shell ввести команду:irm https://massgrave.dev/get | iex Подскажите, как можно автоматизировать данный процесс, без копирования этого кода и вставки в Power Shell? Т.е. запустил батник, а он уже запустил Power Shell и ввел туда этот код, или возможно как-то по другому, но чтобы это получалось автоматом. Либо чтобы это был какой-то файл, содержащий этот код, при нажатии правой кнопкой мыши можно было открыть его в Power Shell. UPD darkalexx4, спасибо, все отлично заработало.
Last edited by yegres on 2023-10-30 12:22; edited 1 time in total
|
darkalexx4
- Longevity: 9 years 7 months
- Posts: 174
- REPUTATION:7[+] [-]
- Location: Минск
|
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
- Longevity: 7 years 8 months
- Posts: 3750
- REPUTATION:127[+] [-]
|
Я привел команду robocopy просто как пример того, как работает/не работает связка \"
|
cartmenezz
- Longevity: 9 years 1 month
- Posts: 527
- REPUTATION:14[+] [-]
- Location: Калининград
|
Приветствую. Помогите решить загадку. Недавно настраивал ноут, 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 Вот я и не могу понять, зачем? По идее эти дрова итак будут добавлены и установлены на первом этапе... Смысл команд вроде как один... Бывают ситуации, когда требуется второй проход? ... Если что, архивы с дровами здесь - ссылка
|
kamyshoviy
- Longevity: 9 years
- Posts: 63
- REPUTATION:6[+] [-]
|
101562... Бывают ситуации, когда требуется второй проход? на живую + оф. драйвера,.. нет, точно нет; да, и, у Майков ни чего похожего ни где не задокументировано (кто найдёт, делись ссылкой). У меня их док от 11.07.2018 за pnputil завалялся (ещё с устаревшим синтаксисом, ну, как с устаревшим, тот, что в батнике), там, тоже, ни слова об этом. Я в батниках топором, но, при установке на живую, кинуть в CMD стандартную команду мозгов хватит => смущает синтаксис pnputil для свежего железа; /install ввели ни с первой версии 10'ки (но за долго, даже, если от cpu 10-gen считать), а тут "Франкенштейн": -a и /install в одной строке... он (писатель батника) когда шаблон-заготовку сделал?, может и была у M$ когда какая заморочка, кто же теперь вспомнит ...а может, всё проще: "любимый чемодан с тараканами" давно на мороз не выносили.
|
cartmenezz
- Longevity: 9 years 1 month
- Posts: 527
- REPUTATION:14[+] [-]
- Location: Калининград
|
kamyshoviy, спасибо что отозвались.101567он (писатель батника) когда шаблон-заготовку сделал? Черт знает, но учитывая что ноуты новые, делались эти наборы недавно (но привычки возможно старые).101567тут "Франкенштейн": -a и /install в одной строке Я понял о чем вы, смесь старого синтаксиса и нового, но работать по идее все равно должно, раз уж старый синтаксис еще поддерживается, как я понимаю... по крайней мере встроенная справка эти ключи еще не забыла:Картинка ... В общем, главное не мне одному кажется лишним второй проход для некоторых драйверов))
|
cartmenezz
- Longevity: 9 years 1 month
- Posts: 527
- REPUTATION:14[+] [-]
- Location: Калининград
|
Приветствую! Пытался загуглить, но все не то, сложно сформулировать то что мне надо. Вопрос: возможно ли как-то удалить вывод последней строки? Прописан вывод пустой строки (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
- Longevity: 9 years 1 month
- Posts: 527
- REPUTATION:14[+] [-]
- Location: Калининград
|
Ander_73, Гениально однако Огромнейшее спасибо
|
Page 86 of 92
Current time is: 05-Oct 05:20
All times are UTC + 3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|