명령 프롬프트에서 한 곳에 경로를 통해 그 안에 바로 가기 (?)를 놓고 실행하고 싶습니다.

2076 단어 Windows
windows에서 명령 프롬프트에서 사쿠라 에디터에 경로를 전달하여 열기라는 동작을하고 싶었습니다.
사쿠라 에디터의 exe가 들어 있는 디렉토리에 패스를 통한다
그렇다고 하는 것이 실행 파일 마다 여러가지 디렉토리에 패스를 통과시킨다고 하는 것이 무엇인가 걸렸기 때문에, 하나의 디렉토리에 패스를 통해서, 거기에 exe의 쇼트 컷을 넣는 것으로 해결할 수 없을까?

문득 생각 단축키를 두었습니다만 세세한 곳에서 잘 가지 않고 조금 고민했기 때문에 기사에 남기려고 생각했습니다.

↑ 각 디렉토리에 패스를 통과하면 끝나는 이야기이며, 이 방법으로 운용하는 것이 적절한지 어떤지는 모릅니다. 참고까지 「헤~」라고 생각해 봐 주시면 다행입니다.

try1 간단하게 바로 가기를 넣어 보았습니다.



exe의 바로 가기를 넣어 보았지만 잘 작동하는 명령 프롬프트에서 실행할 수 없습니다.

원인

보기에는 확장자가 표시되지 않았지만 파일 경로로는 sakura.lnk입니다.

경로를 통과하는 것을 실행할 때 확장자를 생략하는 경우
환경 변수의 PATHEXT에 확장자의 등록을 실시하고 있는 것만 생략을 실시할 수 있게 되어 있었다

try2 PATHEXT에 .lnk를 추가하고 다시 도전하십시오.



인수로 전달한 상대 경로에서 파일이 열리지 않고 바로 가기 대상 exe 디렉토리의 상대 경로로 평가되었습니다.
(절대 패스로 건네주면 문제없이 열린다)

원인

어쩌면 바로 가면 그렇게 될까? 라고 생각합니다
그래서 다른 방법을 찾습니다.

try3 bat으로 패스를 받아 보자.


"C:\programs\sakura\sakura.exe" "%1"

열었다! !
하지만 명령 프롬프트가 사쿠라 편집기를 닫을 때까지 기다립니다.

try4 start 사용



커맨드의 대기를 실시할지 어떨지 하는 것이 call인가 start인가로 다른 것 같다. start를 사용하면 좋다는 것

=> 잘 가지 않는다

을 보면 start "" 어쨌든 첫 번째 인수에 ""

try5 start ""



잘 열렸다! !

하지만 나머지는 명령 프롬프트에 열린 파일 경로가 표시되기 때문에 @echo off

결론



바로 가기보다는 bat 파일이라면 할 수있었습니다.
@echo off
start "" "C:\programs\sakura\sakura.exe" "%1"

이것으로 잘 갔다

본래는 보통으로 패스를 각각 통과해야 할까라고는 생각합니다만, 이 기회에 bat 파일의 공부가 되었으므로 이것은 이것으로 좋다!

좋은 웹페이지 즐겨찾기