You are here

윈도우즈 파일 경로를 Tcl에서 쓸 수 있게 가공하는 법..

(bin) 9 % catch {set progexe [registry get {HKEY_LOCAL_MACHINE\SOFTWARE\Classes\prog\shell\open\command} {}]}
0
(bin) 10 % puts $progexe
"K:\prog\prog.exe" "%1"
(bin) 11 % lindex $progexe 0
K:progprog.exe

이런 식으로 떠요... 아무래도 저 백슬래시가 이스케이프 처리되는 듯 한데 아직 표준함수를 잘 몰라서 어떻게 처리해야 할 지 모르겠어요.
이 상황에서 가장 좋은 방법이 뭔가요? 슬래시에서 백슬래시로 바꾸는 건 file nativename을 쓰면 된다지만 이건 잘 모르겠어요.

그리고 부가적인 질문인데 나름 저 백슬래시를 슬래시로 바꾸는 방법을 찾다가
(bin) 1 % set a {\\\\\\\ }
\\\\\\\
(bin) 2 % puts $a
\\\\\\\
(bin) 3 % string map {\ /} $a
char map list unbalanced
(bin) 4 % string map {\\ /} $a
///////
(bin) 5 % puts {\\ /}
\\ /
(bin) 6 % puts {\ /}
\ /
3번명령이 유효하지 않은 이유를 잘 모르겠어요;;

(bin) 23 % set a \"\\n\"
"\n"
(bin) 24 % puts $a
"\n"
(bin) 25 % lindex $a 0

이것도 왜 두 결과가 다른지 의문이고요.