2013-02-04 3 views
2

PowerShell을 처음 접했고 PowerShell ISE (3.0) 만 발견했습니다. 이전에 나는 cmd를 창문 세 가지 바로 가기 사용 : 서버 스크립트를 실행하는 보스에 대한PowerShell ISE 다중 탭 열기

  1. 하나

이를 JDK7을 필요로 빌드 스크립트 JDK6

  • 하나를 필요로 빌드 스크립트
  • 하나 바로 가기를 사용하면 창을 올바른 경로로 열고 JAVA_HOME을 설정할 수 있습니다.

    이제 적절한 이름의 PowerShell ISE에서 해당 탭을 열 수있는 하나의 바로 가기를 만들고 싶습니다. 필자는 스크립트에서 $ psISE.PowerShellTabs를 조작 할 수 있다고 생각했지만 새 탭을 만들고 이름을 변경할 수는 있었지만 원하는대로 디렉토리 나 변수를 변경할 수는 없었습니다.

    어떻게해야합니까?

  • 답변

    0

    코드를 실행하려면 invoke 메서드를 사용할 수 있습니다.

    $NewTab = $psISE.PowerShellTabs.Add() 
    $NewTab.DisplayName = "NewTab" 
    sleep -m 160 
    $NewTab.Invoke({cd C:\ ; cls}) 
    

    그러면 새 탭이 만들어지고 NewTab을 열어서 디렉터리가 C : \로 변경되고 출력이 지워집니다.

    +0

    ({CD를 C : \; CLS})', 그리고 내가 스크립트에서 세 줄을 실행할 때 나는 마지막 줄에 예외가 솔기 : "스크립트를 실행할 수 없습니다."마지막 행을 별도로 실행하면 – Love

    +0

    이 문제가 발생합니다. 나는 그것을 작동시키기 위해'sleep -m 160 '을 추가해야했습니다. 그보다 작은 항목이나 탭이 아직 열리지 않았기 때문에 코드가 실행되지 않습니다. – Mark

    2

    Mark가 제공하는 방법이 올바르게 작동하지 않을 수 있습니다. 임의 지연을 가정하는 대신 대기하고 탭이 준비되었는지 확인해야합니다. 난 당신이`의미 $ NewTab.Invoke 같은데요

    $NewTab = $psISE.PowerShellTabs.Add() 
    $NewTab.DisplayName = "NewTab" 
    
    While (-not $NewTab.CanInvoke) { 
        Start-Sleep -m 100 
    } 
    
    $NewTab.Invoke({cd C:\ ; cls}) 
    
    관련 문제