2014-01-07 3 views
0

К примеру, в этом простом рецепте кулинарной:Как перенаправить вывод командных скриптов Windows внутри шеф-повара Coobkook в файл?

batch "Clear_OS_Agent" do 
    code <<-EOH 

@echo on 
dir C:\ 
@echo off 

    EOH 

    action :run 

Когда я бегу chef-client.bat на узле Windows я могу получить результат dir C:\

Но когда я обращаю в в файл chef-client.bat > C:\chef_log.txt, есть только общий вывод chef-client.bat там, без результата dir C:\.

ответ

1

ли перенаправлять в рецепте, а не при запуске шеф-клиента, как:

code <<-EOH 

@echo on 
dir C:\ > C:\chef_log.txt 
@echo off 

EOH 

Вы можете, вероятно, увидеть результаты забега, как вы делали это первоначально, если вы провернуть отладку, а также как:

chef-client.bat -l debug > C:\chef_log.txt 

Edit:

Если у вас есть несколько команд, которые вы хотите перенаправлены на тот же файл журнала вы можете сделать следующее, так что вам не нужно явно redire ct каждая строка:

(
echo one 
echo two 
echo three 
dir C:\ 
) > C:\test.txt 
+0

Я пробовал это. В журнал отладки он не включал вывод пакетного скрипта. И фактический сценарий будет длинным, поэтому нецелесообразно перенаправлять каждую командную строку явно. –

+0

Прохладный! Использовать скобки - хорошая идея. –