2014-11-27 9 views
0

Windows 환경 변수에 저장하려는 일부 값을 생성하는 Tcl 스크립트가 있습니다. 나는 이것이 내 대본에서 직접 할 수 없다는 것을 안다.Tcl 스크립트에서 Windows 환경 변수를 설정하는 방법

puts stderr $var 

가 어떻게 호출 배치 파일에서 환경 변수를 설정하기 위해 표준 에러 채널을 사용합니까 : 내가 할 계획입니다 무엇

출력에 표준 에러에 대한 가치인가?

Tcl 스크립트에서 환경 변수를 설정하는 더 편리한 방법이 있습니까?

답변

1

가장 쉬운 방법은 환경 변수 설정을 포함 알려진 이름의 배치 파일을 작성하는 Tcl의 스크립트를 사용하는 아마, env.bat 말 :

set f [open env.bat w] 
puts $f "SET FOO=BAR" 
close $f 

그럼 당신은 당신의 실제 배치 파일을 만들 수 있습니다 단지 CALL 그것에서 환경 변수 정의를 얻을이 :이 비 surpri 인 방법으로 일을하는 것이 가장 쉬운 방법이 될 것입니다 방법입니다

CALL env.bat 

노래. 텍스트 편집기에서 항상 env.bat을보고 그 안에있는 것이 합당한 지 알아낼 수 있기 때문에 디버깅하기도 쉽습니다. (나는 모든 것이 동일한 디렉토리에서 실행되고 그 코드가 거기에 쓸 수있는 권한이 있다고 가정하고 있는데, 그것은 입니다. 확실히 가장 쉬운 방법입니다. 다른 곳에서 임시 파일을 작성하고 이름을 전달할 수도 있지만 그 기능이 제대로 작동하려면 다소 복잡합니다.)

+0

감사의 말을 전하면서 ​​귀하의 제안은 제 문제에 대한 일반적인 해결책을 제공합니다. 그러나, 나의 특별한 경우에는 가능한 반환 값의 수가 제한되어 있으므로 exit 명령을 사용하여 Tcl에서 돌아온 다음 호출자 배치 파일에서 ERRORLEVEL을 평가하기로 결정했습니다. 잘 작동합니다! – Juergen

관련 문제