DISM - вывести список компонентов в файл

Тема в разделе "Пакетные файлы CMD, BAT", создана пользователем MAKSOID, 31 июл 2014.

  1. MAKSOID
    Оффлайн

    MAKSOID Новый пользователь

    Сообщения:
    5
    Симпатии:
    2
    Последнее редактирование модератором: 31 июл 2014
    Dragokas нравится это.
  2. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.477
    Симпатии:
    4.306
    Добрый вечер, MAKSOID !

    У нас есть свой раздел программирования, поэтому отвечаю здесь.

    У меня Ваш батник прекрасно работает.
    И я практически ничего не менял...

    Код (Text):

    @echo off
    SetLocal
    cd /d "%~dp0"
    net session 2>NUL >NUL|| (echo Необходимы права Администратора & pause >NUL & exit /B)
    set image=h:\install_wims\install.wim
    set MountDir=h:\mount
    set LogFileTable=h:\package_info\Ultimate (x64) - Table1.txt
    set LogFileList=h:\package_info\Ultimate (x64) - List1.txt

    md "%MountDir%" 2>NUL
    dism /mount-wim /wimfile:"%image%" /index:1 /mountdir:"%MountDir%" /readonly
    dism /image:"%MountDir%" /Get-Packages /Format:Table > "%LogFileTable%"
    dism /image:"%MountDir%" /Get-Packages /Format:List > "%LogFileList%"
    dism /unmount-wim /mountdir:"%MountDir%" /discard
    dism /cleanup-wim
    pause
     
    Такие вопросы:
    • запускаете от имени Администратора ?
    • путь везде правильно указан?
    • Папка h:\package_info существует на диске?
    • Номер индекса образа верный? (у меня для Windows 7 - ru_windows_7_ultimate_with_sp1_x64 он равен 1).

    Вот результаты, которые я получил:

    Wim_cmd.png
     

    Вложения:

    • WIM.zip
      Размер файла:
      1,4 КБ
      Просмотров:
      2
    Последнее редактирование: 31 июл 2014
  3. MAKSOID
    Оффлайн

    MAKSOID Новый пользователь

    Сообщения:
    5
    Симпатии:
    2
    Спасибо за ответ. Я использовал этот батник :
    DISM.bat
    -----
    Код (Text):
    @echo off
    start /wait dism /mount-wim /wimfile:h:\install_wims\install.wim /index:9 /mountdir:h:\mount /readonly
    start /wait dism /image:h:\mount /Get-Packages /Format:Table > "h:\package_info\Ultimate (x64) - Table1.txt"
    start /wait dism /image:h:\mount /Get-Packages /Format:List > "h:\package_info\Ultimate (x64) - List1.txt"
    start /wait dism /unmount-wim /mountdir:h:\mount /discard
    start /wait dism /cleanup-wim
    -----
    И он работает, точнее работает всё кроме вывода в файлы .txt. Все папки созданы и были использованы. Индексы проверил. Команды работают. Я их уже выполнял вручную, всё работает, но хотел бы автоматизировать весь процесс с помощью пакетных файлов. Но команды выполняются из батника где-то в 3-4 раза медленнее, чем если бы я запустил эти команды по очереди в Командной строке средств развертывания (использую Win7 OPK). Строку запускал от имени администратора, конечно-же. Не понимаю в чем я ошибся.

    Вопрос 1 : вы написали что у вас всё работает, и вывод в файлы тоже? Просто у меня выводится прямо в окно командной строки.
    Вопрос 2 : что такое %~dp0?
    Вопрос 3 : в синем окошке командной строки на изображении не видно процесса сохранения в файлы .txt . Это другой батник?
    Вопрос 4 : может проблема в том что я использовал .bat вместо .cmd ? Слышал что если сохранить в .cmd, процесс выполнения будет быстрее
     
    Последнее редактирование модератором: 31 июл 2014
  4. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.477
    Симпатии:
    4.306
    С OPK знакомства не имел.
    Единственное, что могу предположить - она хитрым образом виртуализирует часть операций. Какая часть этих операций выполняется дольше - монтирование?

    Что нужно установить, чтобы получить доступ к этой командной строке и самому попробовать? (на M$ много букв - мне долго читать)

    Зачем используете Start /WAIT - эти команды и так выполняются по очереди синхронно.
    У Вас не выводится в файл потому что знак > поддерживает только среда CMD, а Вы его передаете в команду Start. Она не понимает такого знака.
    Так будет работать:

    Код (Text):
    start /b /wait dism /image:h:\mount /Get-Packages /Format:Table > "h:\package_info\Ultimate (x64) - Table1.txt"
    Но повторюсь, что это лишнее. Пишите просто dism

    Выполнение команды убрал с помощью @echo off, а сам вывод уходит в файл, поэтому в консоли ничего нет.
    Переход в каталог, где находится батник. Если Вы запускаете от Админа, то попадаете в папку %SystemRoot%\System32
    Ответил выше.
    Не должен. Исполняемое ядро одно и тоже.
     
    Kиpилл и MAKSOID нравится это.
  5. MAKSOID
    Оффлайн

    MAKSOID Новый пользователь

    Сообщения:
    5
    Симпатии:
    2
    Как по мне, тот же Windows 7 AIK, только с компонентом SRT для Windows PE 3.0/3.1.

    WAIK - http://www.microsoft.com/ru-ru/download/details.aspx?id=5753 . Чтобы скачать WOPK, надо проделать лишние телодвижения.

    Использую start /wait чтобы команда 2 выполнялась только по завершении команды 1 и так далее.

    Спасибо! Теперь у меня всё работает. Но вторая проблема - выполнение команд очень замедлено, по сравнению с прямым вводом. Хотя может это мне кажется.

    Ну это так. Насколько я помню, если пакетный файл .bat, то система читает файл снова и снова после каждой выполненой команды. Если .cmd, то система читает файл только один раз. Как-то так. Хотя незнаю как это может влиять на скорость работы пакетного файла.
     
    Kиpилл нравится это.
  6. MAKSOID
    Оффлайн

    MAKSOID Новый пользователь

    Сообщения:
    5
    Симпатии:
    2
    Спасибо большое. Побольше бы таких людей на форумах. Разобрался.
     
  7. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.477
    Симпатии:
    4.306
    Не за что.
    а это тоже решили?
     
  8. MAKSOID
    Оффлайн

    MAKSOID Новый пользователь

    Сообщения:
    5
    Симпатии:
    2
    Думаю это просто мне показалось. И вообще, я думаю быстрее выполнение пакетного файла с небольшой задержкой, нежели ввод этих комманд вручную. И это мне повезло что 9 образов в install.wim . На работе (я сисадмин) стоят 14 блоков по 30 компьютеров. Для каждого блока своя сборка (чтобы долго не парится с установкой программ и утилит). В любом случае спасибо.
     

Поделиться этой страницей