[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
NeleGal-38,
Самое простое , через DiskPart.
create partition msr size=100

[Цитировать]

    NeleGal-38
  • 122
  • Стаж: 9 лет 3 месяца
  • Сообщений: 506
  • Репутация:38

    [+] [-]
  • Откуда: Из леса вестимо
nikzzzz, aa
Я уже писал что использовать Diskpart не вариант... Я так понимаю что Gdisk ещё не умеет форматировать разделы?...

[Цитировать]

    NeleGal-38
  • 122
  • Стаж: 9 лет 3 месяца
  • Сообщений: 506
  • Репутация:38

    [+] [-]
  • Откуда: Из леса вестимо
На форумах нашёл скрипт вызова окна форматирования диска, но он не работает... Может кто нибудь подсказать в чём причина?
var
WshShell, //Экземпляр объекта WshShell
Res;      //Результат нажатия кнопок в диалоговом окне
//Инициализируем константы для диалоговых окон
var vbYesNo=4,vbQuestion=32,vbYes=6;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Выводим запрос
Res=WshShell.Popup("Open window format",0,
"Open Dialog Windows",vbQuestion+vbYesNo);
if (Res==vbYes) //Нажата кнопка Да
//Вызываем окно форматирования
WshShell.Run("Rundll32.exe shell32.dll,SHFormatDrive");

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
52646 Я так понимаю что Gdisk ещё не умеет форматировать разделы?..
Форматировать то умеет, но не создает msr разделы.
Есть еще утилита GPT fdisk, к стати, файл называется так-же - Gdisk, вот она умеет.
Но у нее есть недостаток, она не поддерживает ком. строку, а работает в итеративном режиме, в принципе его обойти несложно, сделав файл с ответами.
Пример;
@echo off
cd /d "%~dp0"
::Gdisk  Symantec Corporation.
set Gdisk=Gdisk.exe
::Gdisk - GPT fdisk
set GptFdisk=Gdisk32.exe
::Номер диска Symantec Corporation.
set Drvw=2
::Номер диска GPT fdisk
set /a Drvw1 =%Drvw% -1
set fs=ntfs
set size=200
set size2=50
set LabelOem=_NTFS_
"%Gdisk%" /y %Drvw% /del /all
"%Gdisk%" %Drvw% /y /gpt /wipe
"%Gdisk%" %Drvw% /y /cre /pri /sz:%size% /for /ntfs /q /v:"HideBoot1"
>s.txt  echo.n
>>s.txt echo.
>>s.txt echo.
>>s.txt echo.+%size2%m
>>s.txt echo.c01
>>s.txt echo.w
>>s.txt echo.y
%GptFdisk% %Drvw1%: <s.txt
del s.txt

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
52647Rundll32.exe shell32.dll,SHFormatDrive
Это будет работать только с флопиками. ag

[Цитировать]

    NeleGal-38
  • 122
  • Стаж: 9 лет 3 месяца
  • Сообщений: 506
  • Репутация:38

    [+] [-]
  • Откуда: Из леса вестимо
52649
52647Rundll32.exe shell32.dll,SHFormatDrive
Это будет работать только с флопиками. ag
В программе WinNTSetup есть кнопка которая вызывает окно форматирования

Как можно такое же окно вызвать?

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
NeleGal-38,
52652Как можно такое же окно вызвать?
Да можно разными способами, например:
Autoit
$objShell = ObjCreate("Shell.Application")
$objFolder = $objShell.Namespace($CmdLine[1])
$xx = $objShell.NameSpace($CmdLine[1]).Self
$xx.invokeVerb("Format")
While 1
  $hWnd = _ProcessGetWindow(@AutoItPID)
  If $hWnd > 0 Then ExitLoop
  Sleep(500)
WEnd
WinWaitClose($hWnd)
Func _ProcessGetWindow($iPID)
  Local $aWinList = WinList()
  Local $iRet
  If IsString($iPID) Then $iPID = ProcessExists($iPID)
  For $i = 1 To UBound($aWinList) - 1
    If WinGetProcess($aWinList[$i][1]) = $iPID Then
      $iRet = $aWinList[$i][1] ;WinHandle
      Return $iRet
    EndIf
  Next
  Return SetError(1, 0, 0)
EndFunc   ;==>_ProcessGetWindow
Аналог на VBS, правда не полноценный, он не закрывается автоматически при закрытии окна форматирования
if Wscript.Arguments.count < 1 then
Wscript.Echo "Неверный синтаксис"
Wscript.Quit
end if
set oShell=CreateObject("Shell.Application")
set xx=oShell.NameSpace(Wscript.Arguments(0)).Self
xx.invokeVerb("Format")
WSH.sleep(999999)
Да и другие способы есть, но конкретно батником не решишь.

[Цитировать]

    NeleGal-38
  • 122
  • Стаж: 9 лет 3 месяца
  • Сообщений: 506
  • Репутация:38

    [+] [-]
  • Откуда: Из леса вестимо
nikzzzz,
Спасибо! Буду пробовать

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
Привет всем!
У меня такой вапрос:
Хочу сделать батник, пользуясь комманду например:
install_wim_tweak.exe /o /c "package" /r .
но на место "package" хочу чтоб батник выполнял ряд комманд из текстового файла по списку:
HyperV
Microsoft-Windows-Backup
Microsoft-Windows-OfflineFiles
Microsoft-Windows-OneDrive
... и тд
И если возможно по списку выполнят все комманды содержащие частично текст. Например написать *OneDrive* и чтоб батник запускал все, что содержить OneDrive в ряду. bc aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
dimo70,
for /f "delims=" %%a in (список.txt) do install_wim_tweak.exe /o /c "%%a" /r
for /f "delims=" %%a in ('find /i  "OneDrive" список.txt') do install_wim_tweak.exe /o /c "%%a" /r


Последний раз редактировалось: nikzzzz (2018-07-29 15:56), всего редактировалось 1 раз

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
nikzzzz,
Огромное спасибо! Выручил!
aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
Снова привет!
Искал возможности как можно ninite запускать через код и нашел рабочий powershell script.
Проблема с powershell что он работает только на Win 10 , а на 7 нет.
Так вот вопрос: как можно автоматически скачать и запустить ninite для установку определенных программ при помощью батника?
bc
PS: Вот сдесь нашел https://ninite.com/help/features/switches.html список комманд для ninite.
А сдесь рабочии код для powershell skript PS1:
Write-Host Ninite autoinstall. Please wait...
#Get item names by reading ninite.exe download url
$items = @(
".net4.7",
  ".net3.5",
  "Firefox",
  "Chrome",
  "foobar2000",
    "Java8",
  # "7zip",
    # "adaware",
    # "aimp",
    # "air",
    # "audacity",
    # "avast",
    # "avg",
    # "avira",
    # "cccp",
    # "cdburnerxp",
    # "chrome",
    # "classicstart",
    # "cutepdf",
    # "dropbox",
    # "eclipse",
    # "emule",
    # "essentials",
    # "evernote",
      "everything",
    # "faststone",
    # "filezilla",
    # "firefox",
    # "foobar",
    # "foxit",
    # "gimp",
    # "glary",
      "gom",
    # "googledrive",
    # "googleearth",
    # "greenshot",
    # "handbrake",
    # "imgburn",
    # "infrarecorder",
    # "inkscape",
      "irfanview",
    # "itunes",
    # "java8",
    # "jdk8",
    # "jdkx8",
    # "keepass2",
      "klitecodecs",
    # "launchy",
    # "libreoffice",
    # "malwarebytes",
    # "mediamonkey",
    # "mozy",
    # "musicbee",
      "notepadplusplus",
    # "nvda",
    # "onedrive",
    # "openoffice",
    # "operaChromium",
      "paint.net",
    # "pdfcreator",
    # "peazip",
    # "pidgin",
    # "putty",
    # "python",
      "qbittorrent",
    # "realvnc",
    # "revo",
    # "shockwave",
     # "silverlight",
      "skype",
    # "spotify",
    # "spybot2",
    # "steam",
    # "sugarsync",
    # "sumatrapdf",
    # "super",
    # "teamviewer12",
    # "teracopy",
    # "thunderbird",
    # "trillian",
      "vlc",
    # "vscode",
      "winamp",
     #"windirstat",
     #"winmerge",
     "winrar",
  "chrome",
  "everything",
  "firefox",
  "foobar",
  "irfanview",
  "java8",
  "klitecodecs",
  "notepadplusplus",
  "paint.net",
  #"qbittorrent",
  #"revo",
  "silverlight",
  "skype",
  #"teamviewer12",
  #"teracopy",
  "vlc",
  "winamp",
  "winrar",
  "uTorrent",
  #"Flash",
  "Malwarebytes",
  #"Flash (IE)",
  #"Flash (PPAPI)",
  #".NET 4",
  "Auslogics",
  "Avast",
  #"Classic Start",
  #"Essentials" ,
  #"Firefox ESR 60",
  #"foobar2000",
  #"Glary",
  "KMPlayer",
  #"LibreOffice",
  "Messenger",
  #"Notepad++",
  "NVDA",
  "Picasa",
  "Opera",
  #"Reader DC",
  #"Reader Classic",
  "Skype",
  #"Spotify",
     #"OpenOffice",
  "WinRAR" )
#Create URL
foreach ($item in $items)
{ $url += $item + "-"
}
$url = "http://www.ninite.com/" + $url.TrimEnd("-") + "/ninite.exe"
#Download
$file = [system.environment]::getenvironmentvariable("userprofile") + "\Downloads\ninite.exe"
$webclient = New-Object System.Net.WebClient
$webclient.DownloadFile($url,$file)
& $file

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    dialmak
  • 2607
  • Стаж: 8 лет 1 месяц
  • Сообщений: 842
  • Репутация:40

    [+] [-]
55768скачать и запустить ninite для установку определенных программ при помощью батника?
Никак это доступно для Про версии только.
Можно просто сделать себе несколько разных наборов прог в нините.
Или перейти на что-то другое, например Chocolatey

[Цитировать]

    dialmak
  • 2607
  • Стаж: 8 лет 1 месяц
  • Сообщений: 842
  • Репутация:40

    [+] [-]
О, проверил.. А ведь работает, не ожидал.

[Цитировать]

    dialmak
  • 2607
  • Стаж: 8 лет 1 месяц
  • Сообщений: 842
  • Репутация:40

    [+] [-]
dimo70, Проверяй. Батник отдельно, список прог отдельно, так имхо удобнее.
Там много повторов в списке прог, нужно чистить..

Страница 7 из 89


Показать сообщения:    

Текущее время: 28-Мар 19:09

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы