2011-06-10 4 views
1

ss64.com에서 : /I : 현재 환경의 변경 사항을 무시하십시오.Windows 명령 줄 : START 명령 스위치/의미?

그 의미는 무엇입니까? 사용 사례와 효과 또는 효과에 대해 설명해 줄 수 있다면 좋을 것입니다 (웹 사이트에는 제공되지 않으며 google에서 행운을 찾지 못했을 것입니다).

+0

답장을 보내 주셔서 감사합니다. 그들은 괜찮습니다. 그러나 나는 견고하고 (최소한의 독서로) P 점을 선택해야했습니다. 나는 모두에게 UP를 줬다. – Mechaflash

답변

3

변수를 정의하여 현재 환경을 수정 한 경우;

set foo=bar 
start app.exe 

App.exe가 정의되지 않은 것으로 %foo% 볼 것 "bar"

set foo=bar 
start /i app.exe 

App.exe가 인 것으로 %foo% 볼 것.

+0

그렇다면 실제로 START 명령 이전의 모든 규칙을 무시하고 새로운 환경을 만들고 있습니까? – Mechaflash

+0

예 ... 추가하려면 기본 환경을 변경하십시오. 이것으로 시스템 변수를 생성 할 수 있습니다. –

+0

setx는 하나의 예입니까? – Mechaflash

3

/I은 새로운 환경이 현재 환경이 아닌 cmd.exe에 전달 된 원래 환경이된다는 것을 의미합니다. 경로 변수 환경 변수에 대한 변경 사항은 현재 START 인스턴스에 반영되지 않습니다.

It Cmd.exe 시작 환경을 새 명령 프롬프트 창에 전달하고 그 외에는 아무 것도 전달하지 않습니다.

내 W7 상자에 start /?을 실행

+0

기본적으로 cmd 창에 설정된 모든 항목이 설정됩니다 ... 사용자가 임시로 설정 한 항목은 아닙니다. –

1

this를 참조하십시오

새로운 환경이 cmd.exe를에 전달 된 원래의 환경이 아닌 현재 환경이 될 것입니다.

그래서 주어진 환경 변수 start 오히려 시스템에 저장되어있는 현재의 환경보다,에서 호출 cmd의 인스턴스에 주어진 것들이다.

예 : 나는 echo %lol%를 실행하는 배치 파일을 호출하지만 시작에 대한 /I 스위치를 사용한다면 이제

> set lol=1 
> echo %lol% 
1 
> cmd 
> echo %lol% 
1 

- 나는에 전달 된 원래의 환경 설정을 변경했기 때문에, 정의되지 않을 것이다 %lol을 내 원래 cmd.exe.

왜 사용하겠습니까? 당신은 % PATH %를 일시적으로 변경해야하지만 원래 버전에 의존하는 스크립트를 호출해야한다고 말합니다. start /I은 사용자가 무엇을 설정했는지에 따라 에 전달 된 환경이 인 경우 처음으로 cmd을 시작하기 전의 환경이되므로 이상적입니다.