Вызовите переменную из моего скрипта $ profile в консоли - PullRequest
1 голос
/ 29 марта 2011

Мой скрипт $ profile запускает стенограмму при каждом запуске.Я передаю выходные данные Start-Transcript в переменную ($ log) следующим образом: Start-Transcript -path $ logFile -append> $ global: log

Я хотел бы иметь возможность читать эту переменную изконсоль.Как видите, я попытался явно установить область действия переменной $ log в значение Global (это не сработало).

Например, я хотел бы иметь возможность выполнить следующую команду: notepad $ log1

И открыть запись в блокноте.

Возможно ли это?Я работаю в Google около часа, и я не могу найти ничего, имеющего отношение к этому (что, вероятно, означает, что это невозможно, но я решил спросить в любом случае).

В качестве альтернативы, есть ли способ получить путь к текущему файлу расшифровки каким-либо другим способом?

1 Ответ

1 голос
/ 29 марта 2011

Я не думаю, что перенаправление работает.Почему бы просто не сделать notepad $logFile?

Обновление: AFAIK, нет никакого способа найти значение Start-Transcript Path.Тем не менее, вы можете узнать, записывается ли сеанс или нет.Проверьте это: http://poshcode.org/1500

Если вы не укажете путь, Start-Transcript использует путь в значении глобальной переменной $ Transcript.Если вы не создали эту переменную, Start-Transcript сохраняет транскрипты в каталоге $ Home \ My Documents как файлы \ PowerShell_transcript..txt.

Кстати, в качестве рекомендуемой практики и перед началом написанияскрипты, вы всегда должны начинать с консоли.Например, когда я запускаю на консоли PowerShell следующее:

PS C:\> $logfile = "C:\Scripts\Scratch\test.log"
PS C:\> Start-Transcript -path $logFile -append > $global:log
PS C:\> Get-Command Get-Help

CommandType     Name                                                Definition
-----------     ----                                                ----------
Cmdlet          Get-Help                                            Get-Help [[-Name] <String>] [-Path <String>] [-C...


PS C:\> Get-Variable -Name log
Get-Variable : Cannot find a variable with name 'log'.
At line:1 char:13
+ Get-Variable <<<<  -Name log
    + CategoryInfo          : ObjectNotFound: (log:String) [Get-Variable], ItemNotFoundException
    + FullyQualifiedErrorId : VariableNotFound,Microsoft.PowerShell.Commands.GetVariableCommand

Приведенный выше вывод на консоли ясно говорит мне, что перенаправление никогда не работало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...