Arquivo em lote que executa o cmd.exe, vários comandos um após o outro

0

Eu gostaria de criar um arquivo em lotes que:

  1. Abre o prompt de comando
  2. Monta um .ISO
  3. Em seguida, executa:

    DISM /Online /Cleanup-Image /StartComponentCleanup
    DISM /Online /Cleanup-Image /AnalyzeComponentStore
    DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:F:\Sources\Install.wim:1 /LimitAccess
    SFC /SCANNOW
    

Como eu faria isso? Eu já sei como criar um arquivo .bat e como executá-lo como administrador. Agradecemos antecipadamente por suas respostas!

Akres
fonte
montando uma ISO, tente o seguinte: powershell.exe "Mount-DiskImage" "% WindowsISO%" "" "
cybernard
Portanto, seu problema não é realmente executar comandos atrás do outro, mas montar uma ISO?
Der Hochstapler

Respostas:

0

Existem duas opções de como montar o ISO usando o script: usar o comando PowerShell Mount-DiskImage (siga o link para ver o tutorial pronto para responder) ou usar um utilitário externo PowerISO em um arquivo em lotes. Devido à sua pergunta, sobre arquivo em lote, aqui está um exemplo com o PowerISO:

piso mount d:\test.iso F:
DISM /Online /Cleanup-Image /StartComponentCleanup
DISM /Online /Cleanup-Image /AnalyzeComponentStore
DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:F:\Sources\Install.wim:1 /LimitAccess
SFC /SCANNOW

Você não precisa de um comando extra para abrir o prompt de comando - ao executar o arquivo em lotes, ele iniciará o prompt de comando por si só. Neste exemplo, você monta o arquivo test.iso localizado na unidade D: em uma unidade virtual F:

Você também precisará especificar o caminho real para o piso.exe no arquivo em lotes.

Hardoman
fonte
Então isso seria correto? Imgur . E para ter certeza de que eu entendi direito: eles corriam um após o outro (depois que o anterior terminava) ou todos eles 'tentam' executar ao mesmo tempo?
Akres
Não, você não pode usar comandos do PowerShell dentro do script em lote. Você o faz completamente como script do PowerShell do zero ou como lote.
Hardoman