윈도우10 에서 꽤나 특이한 버그를 하나 찾았습니다.
2022.07.25 22:50
괄호 기호 중에 여는 둥근 괄호, opening parenthesis 가 있습니다.
( 이렇게 생긴 것이요.
그리고 기호 중에 공백, space 가 있습니다.
어떤 cmd 파일의 full path 에 여는 둥근 괄호가 포함되어 있으면서 공백은 포함되어 있지 않은 경우,
그 cmd 를 윈도우 탐색기에서 우클릭 - 관리자 권한으로 실행을 선택할 경우
cmd 자체가 실행되지 않고 닫히는 경우가 있다는 버그입니다.
예를들어서 c:\ 에 a( 라는 이름의 폴더를 만들고 그 폴더에 abc.cmd 를 만들고 내용물이
pause
이렇게 1줄인 cmd를 생성해봅니다.
즉 c:\a(\abc.cmd 가 full path 가 됩니다.
그리고 그 abc.cmd 를 우클릭-관리자권한으로 실행 할 경우에 cmd 자체가 실행되지 않고 닫히게 됩니다.
창이 깜빡거리는 것으로 보입니다.
폴더명을 a) 로 수정하고 시도하면 이번에는 잘 실행됩니다. (pause 가 제대로 작동)
몇 번 시도를 해보았는데 이 현상은 닫는 둥근 괄호 ) 와는 무관한 것으로 보입니다.
그리고 여는 둥근 괄호가 포함되어 있는 경우라도, 공백도 같이 포함되어 있으면
우클릭 관리자 권한으로 실행할 경우 잘 실행되는 것 같습니다.
폴더명을 a ( 로 하면 괄호앞에 공백이 있으니까 실행이 잘 됩니다.
이 버그에 대해 리포트가 된 적이 있는지 모르겠네요.
vmware 에서 최신 버전의 윈도우를 설치하고 해봐도 이 버그가 그대로 있습니다.
cmd 를 우클릭-관리자 권한으로 실행이 잘 안되어도, cmd 에 전혀 문제가 없을 수도 있다 그리고
cmd 가 위치한 full path 명의 여는 둥근 괄호를 제거해본다든지 하는 것을 시도하는 것이 도움이 될 수 있을 것 같습니다.
cmd 파일명에 의도적으로 공백을 하나 둔다면 이 버그는 막을 수 있을 것 같습니다. 어느 폴더에 두건 full path 에 공백이 포함이 되게 되어서요
댓글 [5]
-
번개 2022.07.25 23:01
-
솔트 2022.07.25 23:18
신기하네요. 테스트해보니 정말 그렇네요 윈 11입니다.
그런데 말입니다 폴더를 a( 도 그렇지만 a; 도 안되네요. (관리자권한으로 실행)
a^ 도 안되고요
-
DarknessAngel 2022.07.26 08:37
경로를 '라던가 다른 방법으로 묶어도 똑같나요?
이래도 안 되면 손되기 곤란함 (변수에 대입해도 아마 똑같음)
-
rainy 2022.07.26 09:22
-
ton3d 2022.07.26 21:42
이미 설명되어 있지만
cmd 파일의 내용(코드)와 무관하고
cmd 파일의 위치(full path)와 관련이 있습니다.
그것도 탐색기에서 우클릭 후 관리자 권한으로 실행하는 경우에만 문제가 생깁니다.
부연설명 감사합니다~
기존에 없던 버그를 만드는 기술에 놀랐음