![]() |
Вывести в лог большой cmd с экрана
Имеется скрипт в cmd, который обрабатывает последовательность команд, нужно результат его работы видеть на экране и одновременно записывать это все в лог,
способ сначала записать в лог >d:\log.txt, а потом его просмотреть type d:\log.txt не подходит, нужно в реале наблюдать что происходит, а потом еще иметь возможность посмотреть нормальный лог, как на экране, а не те непонятные куски, что записывает выше указанная команда, уже все интернеты облазил ничего внятного кроме огромных непонятных простыней не нашел, не смотря на то что этот вопрос поднимался давным давно и не раз. |
Цитата:
Цитата:
|
alpap, Приветствую, циферки с датами я сам раставлю где нужно, код думаю врятли Вам о чем нибудь скажет, эксперементирую с созданием сборок в автоматическом режиме, часто вношу изменения в скрипт, проверяю что будет, вообщем было бы очень удобно если бы все писалось не только на экране но и в лог, говорят в линухе это легко реализуется всего одной командой, неужели в cmd или на худой конец в PowerShell не придумано ничего похожего?
Скрытый текст
chcp 1251
rem Отключаем антивирь Powershell -File "%~dp0ps\10\off.ps1" echo %date% %time:~-11,8% rem Создаем папку для будуещего wim файла, который будем изменять rd /s /q %~dp0OS\64\ md %~dp0OS\64\Orig\ rem Копируем оригинальный wim во вновь созданую папку copy E:\cd-roms\OS\cur\64\install.wim %~dp0OS\64\orig\ rem Создаем папку для монтирования md %~dp0mount echo %date% %time:~-11,8% rem Монтируем оргинал для изменения в Dism++ и NtLite Dism /Mount-Wim /WimFile:%~dp0OS\64\orig\install.wim /index:1 /MountDir:%~dp0mount echo %date% %time:~-11,8% rem Насилуем оригинальный образ в дисм start /wait %~dp0Install\Dism\Dism++x64.exe echo %date% %time:~-11,8% rem Добавляем в автозагрузку скрипт для начала установки софта и настроек после выхода на раб стол reg load HKLM\start %~dp0mount\users\Default\NTUSER.DAT reg add HKEY_LOCAL_MACHINE\start\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "Start" /d "d:\w10Home.cmd" /f reg unload HKLM\start rem Добавляем ассоциации файлам Dism.exe /Image:%~dp0mount /Import-DefaultAppAssociations:%~dp0Install\fileassoc.xml echo %date% %time:~-11,8% rem Насилуем оригинальный образ в NtLite "C:\Program Files\NTLite\NTLite.exe" /loadimage:"%~dp0OS\64\orig\install.wim" /imageindex:1 /loadpreset:"win10" /exitAfter:1 md %~dp0mount echo %date% %time:~-11,8% rem Сохраняем изменения в рар на всякий случай "C:\program files\winrar\rar.exe" a "%~dp0imageVB\aftrNt64.rar" "%~dp0OS\64\orig\Install.wim" copy %~dp0imageVB\aftrNt64.rar E:\cd-roms\OS\cur echo %date% %time:~-11,8% rem Очищаем папку виртуальной машины rd /s /q %~dp0vb\10x64 rem Распаковываем пердварительно подготовленную папку с чистой виртуальной машиной для работы с ней "c:\program files\winrar\rar.exe" x %~dp0vb\10x64.rar %~dp0vb\ rem Переназначаем букву дискам, что бы нужному была присвоена буква G: ReMount F: W: ReMount G: Y: rem Монтируем чистый виртуальный носитель на хост vmount attach %~dp0vb\10x64\10x64.vhd echo %date% %time:~-11,8% rem Применяем к нему измененый в дисм++ и нтлайт образ dism /Apply-Image /Imagefile:%~dp0Install\boot.wim /index:1 /ApplyDir:F:\ dism /Apply-Image /Imagefile:%~dp0OS\64\orig\install.wim /index:1 /ApplyDir:G:\ rem Добавляем файл ответов, чтобы сразу перейти в режим аудита после развертывания и начать установку софта md G:\Windows\Panther\ copy %~dp0Install\Unattend\pe\Unattend.xml G:\Windows\Panther\ rem Демонтируем виртуальный носитель с образом vmount detach %~dp0vb\10x64\10x64.vhd rem Переносим cd с софтом и настройками в рабочую папку move %~dp0cd-roms\10\HOME\Windows10.iso %~dp0cd-roms\ rem Закрываем окно менеджера VB чтобы не сбились настройки сохраненных виртуальных машин TASKKILL /IM VirtualBox.exe echo %date% %time:~-11,8% rem Первый раз запускаем виртуальную машину и дожидаемся установки софта и настроек "c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -s 10x64 -v on rem Переносим cd с софтом обратно в хранилище move %~dp0cd-roms\Windows10.iso %~dp0cd-roms\10\HOME\ echo %date% %time:~-11,8% rem Сохраняем хомку без обновлений и сиспреп в rar для последующей доустановки Office, обновлений и т.п. del "%~dp0imageVB\10x64Homewim.rar" "C:\program files\winrar\rar.exe" a "%~dp0imageVB\10x64Homewim.rar" "%~dp0vb\10x64" rem Переносим cd с апдэйтами в рабочую папку move %~dp0cd-roms\10\UPD\Windows10.iso %~dp0cd-roms\ rem Закрываем окно менеджера VB чтобы не сбились настройки сохраненных виртуальных машин TASKKILL /IM VirtualBox.exe echo %date% %time:~-11,8% rem Запускаем настроеную вирутальную машину с Home для обновления "c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -s 10x64 -v on rem Переносим cd с апдэйтами обратно в хранилище move %~dp0cd-roms\Windows10.iso %~dp0cd-roms\10\UPD\ echo %date% %time:~-11,8% rem Переназначаем букву дискам, что бы нужному была присвоена буква G: ReMount F: W: ReMount G: Y: rem Присоединяем виртуальный диск vmount attach %~dp0vb\10x64\10x64.vhd rem Создаем папку для будущего wim файла, с настроенной Home md %~dp0OS\64\Home\ echo %date% %time:~-11,8% rem Заливаем в wim настроенную Home Dism /Capture-Image /ImageFile:%~dp0OS\64\Home\install.wim /CaptureDir:G:\ /Name:"Windows 10 Home x64" /Description:"Windows 10 Home x64" rem Отсоединяем виртуальный диск vmount detach %~dp0vb\10x64\10x64.vhd rem создаем папку для монтирования (на всякий случай) md %~dp0mount echo %date% %time:~-11,8% rem Запускаем повышение редакции до Pro DISM /Export-Image /SourceImageFile:%~dp0OS\64\Home\install.wim /SourceIndex:1 /DestinationImageFile:%~dp0OS\64\Home\install.wim /DestinationName:"Windows 10 Pro x64" DISM /Mount-Image /ImageFile:%~dp0OS\64\Home\install.wim /Index:2 /MountDir:%~dp0mount DISM /Image:%~dp0mount /Set-Edition:Professional Dism /Unmount-Wim /MountDir:%~dp0mount /Commit echo %date% %time:~-11,8% rem Готов образ с двумя редакциями для установки на работу в офис, нет ниодной не лицензионной программы rem Дальше rem Отключаем антивирь Powershell -File "%~dp0ps\10\off.ps1" echo %date% %time:~-11,8% rem Распаковываем Vb с настроенным Home из рар обратно rd /s /q %~dp0vb\10x64 "c:\program files\winrar\rar.exe" x "%~dp0imageVB\10x64Homewim.rar" %~d0\ rem Переносим cd с Office в рабочую папку move %~dp0cd-roms\10\OFFICE\Windows10.iso %~dp0cd-roms\ rem Закрываем окно менеджера VB чтобы не сбились настройки сохраненных виртуальных машин TASKKILL /IM VirtualBox.exe echo %date% %time:~-11,8% rem Запускаем vb доустанавливаем офис и т.п. "c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -s 10x64 -v on rem Переносим cd с Office в хранилище move %~dp0cd-roms\Windows10.iso %~dp0cd-roms\10\OFFICE\ echo %date% %time:~-11,8% rem Сохраняем в рар Home&Office для последующего обновления сборки del "%~dp0imageVB\10x64Office.rar" "C:\program files\winrar\rar.exe" a "%~dp0imageVB\10x64Officewim.rar" "%~dp0vb\10x64" rem Переносим cd с апдэйтами в рабочую папку move %~dp0cd-roms\10\UPD\Windows10.iso %~dp0cd-roms\ rem Закрываем окно менеджера VB чтобы не сбились настройки сохраненных виртуальных машин TASKKILL /IM VirtualBox.exe echo %date% %time:~-11,8% rem запускаем Home_Office, обновляем, сиспрепим "c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -s 10x64 -v on rem Переносим cd с апдэйтами в хранилище move %~dp0cd-roms\Windows10.iso %~dp0cd-roms\10\UPD\ rem Переназначаем букву дискам, что бы нужному была присвоена буква G: ReMount F: W: ReMount G: Y: rem Присоединяем виртуальный диск vmount attach %~dp0vb\10x64\10x64.vhd rem Создаем папку для будущего wim файла, с настроенной Home_Office md %~dp0OS\64\Home_Office\ echo %date% %time:~-11,8% rem Заливаем в wim настроенную Home_Office Dism /Capture-Image /ImageFile:%~dp0OS\64\Home_Office\install.wim /CaptureDir:G:\ /Name:"Windows 10 Home_Office x64" /Description:"Windows 10 Home_Office x64" rem Отсоединяем виртуальный диск vmount detach %~dp0vb\10x64\10x64.vhd rem создаем папку для монтирования (на всякий случай) md %~dp0mount echo %date% %time:~-11,8% rem Запускаем повышение редакции до Pro_Office DISM /Export-Image /SourceImageFile:%~dp0OS\64\Home_Office\install.wim /SourceIndex:1 /DestinationImageFile:%~dp0OS\64\Home_Office\install.wim /DestinationName:"Windows 10 Pro_Office x64" DISM /Mount-Image /ImageFile:%~dp0OS\64\Home_Office\install.wim /Index:2 /MountDir:%~dp0mount DISM /Image:%~dp0mount /Set-Edition:Professional Dism /Unmount-Wim /MountDir:%~dp0mount /Commit echo %date% %time:~-11,8% rem Добавляем 3,4 редакции без Office Dism /Export-Image /DestinationName:"Windows 10 Home x64" /SourceImageFile:"d:\ForCreate\OS\64\Home\install.wim" /SourceIndex:1 /DestinationImageFile:"d:\ForCreate\OS\64\Home_Office\install.wim" Dism /Export-Image /DestinationName:"Windows 10 Pro x64" /SourceImageFile:"d:\ForCreate\OS\64\Home\install.wim" /SourceIndex:2 /DestinationImageFile:"d:\ForCreate\OS\64\Home_Office\install.wim" |
ну вот смотрите. я начну а вы продолжайте
например: Цитата:
Цитата:
можно к примеру каждую команду дублировать: Код:
>>log.txt rd /s /q ... Код:
if not exist Folder echo Действительна удалена |
alpap, Благодарю за быстрое реагирование, хотелось бы что бы выглядело как на экране в окне cmd, там же все отображается как надо, почему нельзя сделать такой же лог, ну или не лог, а просто запись cmd экрана в текстовый файл, меня бы вполне устроило
|
Цитата:
Цитата:
Вы можете использовать tee.exe из комплекта GnuWin32 (например, отсюда: CoreUtils for Windows). Кроме того, говорят, что аналог tee.exe с какого-то момента включён в комплект Windows 10 (не знаю, не проверял). Цитата:
Скрытый текст
Код:
@echo off Результаты исполнения
![]() ![]() и т.п. |
Shulzzz, можно в PoSh сделать
Код:
Start-Transcript -Path имя_файла Код:
Stop-Transcript |
Цитата:
|
Iska, почему? ему же лог нужен, а не success-story.
Блин а что это за колхоз в батнике? MDT разверни и настраивай сборку. Там тебе и логи полноценные и возможностей больше. |
|
Charg, в чем колхоз то? МДТ этот два раза ставил, так толком и не понял в нем ничего, максимум файл ответов сделать получалось, как сам образ изменить не понял, а в дисм++ все понятно, в аудите то вообще большого ума не надо, делаю как проще, вроде получается. может и до МДТ дорасту когда нибудь.
Iska, Попробовал tee, все работает и это то что мне и нужно, спасибо Вам огромное за грамотные разъяснения! Upd! Только с кодировкой беда, никак не приведу к общему знаменателю, где то 866, где то 1251, и не пойму как сделать чтобы везде одинаково было. |
Время: 22:55. |
Время: 22:55.
© OSzone.net 2001-