특정 폴더에서 Cygwin 열기


226

특정 폴더에서 Cygwin을 여는 Cygwin 단축키를 어떻게 만들 수 있습니까? 이것은 타이핑하지 않아도됩니다.

cd /cygdrive/c/Users/Tom/Desktop/

Cygwin을 시작할 때마다


2
.bat 파일 만들기 : 여기는 tutorialcomputerhope.com/batch.htm 입니다
Umar Jamil

참고 : 치어 패키지는 관리자 권한으로 인스턴스화해야 할 수 있습니다. 이 문제가 발생하여 사용하려는 유혹을 받으면 sudo예상 한 결과를 얻지 못할 수 있습니다. 이 경우 Windows 시스템에서 관리자로 로그인하십시오.
dreftymac

답변:


410

Cygwin을 설치할 때 (또는 이미 설치 한 경우 다시 다운로드 한 후 업데이트를 실행하기 위해 설치를 다시 시작하십시오) chere"쉘"범주 에서 패키지 를 선택해야합니다 .

Cygwin이 시작된 후 관리자로 Cygwin 터미널을 열고 다음 명령을 입력하십시오 chere -i -t mintty -s bash.

이제 Windows 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴에 "Bash Prompt Here"가 나타납니다.

( 민티 는 Cygwin의 기본 터미널입니다. -t옵션 과 함께 선택하지 않으면 "Bash Prompt Here"는 Windows 명령 프롬프트와 동일한 터미널을 사용하여 수평 크기 조정을 방지합니다.)


39
정말 고마워요! -t예를 들어 사용 하고있는 민트를 열 때와 같이 열고 자하는 터미널을 지정할 수 있음을 알았습니다.chere -i -t mintty
Kevin Condon

29
64 비트 cygwin (1.7.27)으로 방금 테스트했으며 치어가 현재 존재하는 것 같습니다. 전문가 팁 : 관리자 권한으로 cygwin 터미널을 시작해야합니다.
BuildTheRobots

11
한 가지 더주의해야합니다. chere -i -t mintty -f덮어 쓰기를 수행하기 위해 이미이 작업을 수행 한 경우 cygwin을 관리자로 계속 실행해야합니다.
Greg Jennings

29
W7x64에 권한 문제가있었습니다 (오류 (5) : 액세스가 거부되었습니다. 쓰기 가능하지 않음). 관리자로 Cygwin을 시작하여 해결되었습니다.
DmitrySandalov

17
Cygwin에는 필자의 기본 쉘이 없었 -s bashchere -i -t mintty -s bash
으므로이 기능

97

여기 내가 사용하는 것이 있습니다. chere패키지 또는 레지스트리 땜질이 필요하지 않습니다 . Windows 7에서 작동합니다.

"보내기"폴더로 이동하십시오.

C:\Users\<your_user_name>\AppData\Roaming\Microsoft\Windows\SendTo

필드에 Bash Here이를 갖는 바로 가기를 작성하십시오 Target.

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico  C:\cygwin\bin\bash.exe  -l -c "cd \"$0\" ; exec bash"

Windows 탐색기에서 폴더를 마우스 오른쪽 버튼으로 클릭하고을 선택 Send To > Bash Here합니다.

그리고 현재의 bash 디렉토리에서 Windows 탐색기를 여는 반대의 트릭이 있습니다. 이 별명을 작성하십시오.

alias winx='/cygdrive/c/Windows/explorer.exe /e,\`cygpath -w .\`'

참고 : cygpath -w .위 부분은 백틱으로 묶여 있습니다.

이제 winxbash 프롬프트에서 입력 하면 Win Explorer가 나타납니다.

참고 : winx가 문서 폴더로 안내하는 경우 시도하십시오

alias winx='/cygdrive/c/Windows/explorer.exe /e,`cygpath -w $PWD`'

3
아주 좋은 트릭이지만 winxCygwin 설정 에서 별칭이 작동하지 않았습니다. 나는 모두 백 슬래시를 제거하고 교체했다 .과 함께 $PWD작동 할 수.
not2qubit

Cygwin64 경로를 사용하도록 적응 된 바로 가기가 cygwin을 사용자 폴더로 열면 어떻게됩니까? :( 아마도 32 비트 Cygwin에서만 작동합니까?
Alex Hall

이것도 저를 위해 일하고 있습니다alias winx='/cygdrive/c/Windows/explorer.exe /e,$(cygpath -wa .)'
Wakan Tanka

1
:에서 Cygwin에서 2.6.0 (7 승 64에) 훨씬 쉽게 수행 할 수 있습니다 cygstart .현재 폴더, 또는 폴더 구문 탐색기를 열려면 cygstart .., cygstart /your/path... 등
244an

2
경고 : 작업 디렉토리를 다른 것으로 변경 한 후에도 C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico C:\cygwin\bin\bash.exe -l -c "cd \"$0\" ; exec bash파일 핸들을 $0디렉토리에 열어 둡니다. ALT+F2이미 작업 디렉토리를 변경 한 경우에도 창 ( ) 의 생성 사본이 더 나빠진 경우 다른 파일 핸들을로 엽니 다 $0. 이는 $0프로세스에서 삭제 / 수정하려는 일부 작업을 방해 할 수 있습니다 . 액세스 할 때 'Permission Denied (허가 거부)'오류가 발생하면 $0원인 일 수 있습니다.
matt

33

cygwin 터미널에서 다음 명령을 실행하십시오.

echo "cd your_path" >> ~/.bashrc

새 bash 세션을 열면 .bashrc 스크립트가 실행됩니다. 새 cygwin 세션을 열면 위 코드가 your_path 디렉토리 로 변경됩니다 .


3
이것은 대답입니다! 너무 쉽게.
Devin Walker

예 ! 쉽다! 투표하세요!
Alex Byrth

19
질문에 필요한대로 해당 디렉토리를 사용하는 바로 가기를 만들지 않으므로 Cygwin 셸을 시작하는 모든 방법의 동작이 변경되므로 대답이 아닙니다. 로컬 문제를 해결하기 위해 전역 설정 (또는 로그인 프로필)을 변경해서는 안됩니다.
벤 Voigt

나는 한 번 사용 정확히 실수 중 하나 떨어져두고, 암호 파일에 사용자를 추가하려면이 방법을 >문자. 그런 다음 로그 아웃했습니다 :-)
paxdiablo

@paxdiablo ouch
bschwagg

30

마우스 오른쪽 버튼 클릭 상황에 맞는 메뉴에 "Open Cygwin Here"옵션을 넣는 .reg 파일을 만들었습니다. 초기 설정에서 설치하지 않은 경우 apt-cyg를 사용하여 설치할 수있는 Cygwin "chere"패키지에 따라 다릅니다 .

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"

7
이것을 사용하는 방법이 궁금하다면 회색 배경의 텍스트를 복사하여 "foo.reg"라는 텍스트 파일에 넣고 두 번 클릭하십시오.
Andrew Moylan

3
여기에 최고의 솔루션을 +1하십시오. 언급 해 주셔서 감사합니다. apt-cyg이 도구에 대해 몰랐습니다
user11153

이것은 내가 찾던 것과 정확히 같았으며 Microsoft 사이트조차도 같은 결과를 얻지 못했기 때문에 다른 것들에도 도움이되었습니다.
FilBot3

"cygwin"으로 변경해야했지만 다음 오류가 발생합니다. "/ bin / xhere를 실행하지 못했습니다 : 해당 파일 또는 디렉토리가 없습니다"
Totty.js

@ Totty.js Cygwin에 'chere'패키지를 설치 했습니까?
Jeutnarg 2016 년

17

cygwin64 또는 chere가없는 설치의 경우 레지스트리 항목에서 다음 명령을 사용할 수 있습니다 (경로로 인해 창을 가정하고 cygwin 설치 디렉토리가 c : \ cygwin64라고 가정).

C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd "`cygpath "%V"`"; bash'

여기에서 다운로드 할 수있는 Windows 7 및 8 레지스트리 파일에서 작동합니다. http://tomkay.me/blog/Cygwin64---Open-Here-18

Windows Registry Editor Version 5.00
; Open cygwin to folder
; http://tomkay.me - Tom Kay

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"

3 개의 (x2) 레지스트리 항목이 왜 있는지 설명 할 수 있습니까?
not2qubit

1
그것들은 디렉토리, 드라이브 및 배경 컨텍스트를위한 것입니다
Tom Kay

마지막으로, 그것을 이해하는 데 약간의 문제가 있지만, 나를 위해 일한 한 가지 해결책이 있습니다. ;-) [ 'exec bash'다음의 'bash']. 힌트 : 3 개의 항목을 'Directory', 'Drive'및 'Background'대신 'Folder'로 바꿀 수 있습니다.
t0r0X

'폴더'만 있으면 링크가 드라이브의 상황에 맞는 메뉴에 나타나지만 실행에는 실패합니다. 그러나 'Folder'와 'Directory \ Background'를 사용하여 2 개의 항목으로 줄일 수있었습니다.
Tom Kay

1
이맥스의 경우 "C : \\ Cygwin에서 \\ 빈 \\ mintty.exe -i /Cygwin-Terminal.ico / 빈 / bash는 -l -c '이맥스 \" cygpath \"%V\"\ ",'"
월 Matousek

12

해당 디렉토리를 기본값으로 사용 cd하려면 ~/.profile파일에 명령문을 추가 하십시오.

내가하는 경향은 그 방법을 사용하여 일반적인 디렉토리를 설정하고 일반적인 경우의 별칭을 정의하는 것입니다.

alias tom="cd /users/tom"

또는 동등한 것. 이를 통해 디렉토리를 매우 빠르게 변경할 수 있습니다.


해당 별칭도 ~/.profile파일에 추가해야합니까 , 아니면 한 번만 실행해야합니까?
iono

2
@tomeoftom, 쉘 내에서 실행하면 해당 쉘에만 영향을 미칩니다. 시작한 다른 사람에게는 영향을 미치지 않습니다. 따라서 항상 사용 가능하게하려면 시작 파일 중 하나에 배치해야합니다 ( ~/.profile한 가지 가능성이 있음).
paxdiablo

~ / .profile에 넣으면 작동하지 않지만 ~ / .bashrc가 작동했습니다.
zupa

@zupa, 시작 파일의 소스에 대한 규칙은 상당히 복잡합니다 ( bash만약 깊이 파면 맨 페이지 에 모두 있음 ). 이것이 제가 한 .profile가지 가능성으로 언급 한 이유 입니다.
paxdiablo

.profile은 궁극적으로 .bashrc를 소스하므로 대신 bashrc에 해당 명령을 추가 할 수 있습니다. (.profile이 나를 위해 작동하지 않음)
laertis

8

chere패키지 없이 cygwin을 시작하기 위해 및 아이콘을 사용 합니다.

  1. cygwin 터미널의 바탕 화면에 바로 가기를 만듭니다.
  2. 아이콘을 R- 클릭하고 속성을 선택하십시오.
  3. 바로 가기 탭에서 대상에이를 사용하십시오. C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
  4. START IN의 경우 cygwin을 시작하려는 디렉토리 / 폴더의 경로를 입력하십시오. 즉C:\some\dir\name\here

ok 2 가지 1. -c"시작"에 경로를 제공하는 한 "대상"에 추가 해도 아무런 차이가 없습니다.이 솔루션은에 문제를 일으 킵니다 PATH. cygwin이 /usr/local/bin:/usr/bin시스템 PATH 앞에 추가되지 않아 일부 바이너리를 호출 할 수 없음 구성이 /etc/profile>>`if [$ {CYGWIN_NOWINPATH-addwinpath} = "addwinpath"]; 그런 다음`
laertis

8

two7s_clash에 따르면 먼저 chere패키지를 설치하고 민트 를 설치해야한다고 말했습니다 .

  1. 관리자로 Cygwin 터미널 열기
  2. apt-cyg install chere
  3. chere -i -t mintty

이제 Windows 탐색기 (컨텍스트 메뉴)에서 마우스 오른쪽 버튼을 클릭하고 "Bash Prompt Here"를 선택하여 특정 디렉토리에서 cygwin을 열 수 있습니다.

Windows 명령 프롬프트를 사용하여 특정 디렉토리에서 cygwin을 열 수도 있습니다.

  1. Windows 명령 프롬프트 열기
  2. ( cd)를 사용자 정의 디렉토리로 이동
  3. 실행 C:\cygwin64\bin\mintty.exe C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

    이 명령은 명령 프롬프트에서 가져온 현재 디렉토리로 cygwin을 엽니 다.

자유 사령관

이 명령을 사용하여 FreeCommander와 같은 사용자 정의 파일 관리자에서 cygwin을 열 수도 있습니다.

FreeCommander에서 가져온 현재 디렉토리로 cygwin을 열려면 다음을 수행하십시오.

  1. 도구-> 즐겨 찾기 도구-> 즐겨 찾기 도구 편집 ... (Ctrl + Shift + Y)
  2. 새 도구 모음 추가 (+ 아이콘), 바로 가기 : 삽입

    • 이름 : cygwin
    • 프로그램 또는 폴더 : C:\cygwin64\bin\mintty.exe
    • 시작 폴더 : %ActivDir%
    • 매개 변수 : C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

FreeCommander에서 cygwin을 여는 사용자 정의 단축키를 추가 할 수 있습니다.

  1. 도구-> 키보드 단축키 정의
  2. "즐겨 찾기 도구 01"(또는 "즐겨 찾기 도구 N")으로 스크롤하십시오.
  3. 새 단축키 지정 : Ctrl+ Shift+를 사용합니다T

훌륭한 참고 자료 : MinTTY Wiki, 기사 팁 : 특정 디렉토리에서 시작


5

원하는 디렉토리에서 Cygwin 터미널을 시작하는 Windows 바로 가기를 만들려면 다음을 시도하십시오.

  • Windows 바탕 화면을 마우스 오른쪽 버튼으로 클릭하고 '새로 만들기'를 선택한 다음 '바로 가기'를 선택하십시오.

  • 항목 위치에 다음 mintty경로를 입력하고 필요에 따라 경로를 변경하고 표시된 곳에 원하는 디렉토리의 이름을 바꾸십시오 .

    C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd DESIRED-DIRECTORY; exec bash'
    

    예를 들어 OP는 다음 텍스트를 사용합니다.

    C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd /cygdrive/c/Users/Tom/Desktop/; exec bash'
    
  • '다음'을 클릭하십시오.

  • 바로 가기 이름을 입력하고 '마침'을 클릭하십시오.

Cygwin 터미널을 자주 액세스하는 다양한 디렉토리에서 열 수 있도록 여러 개의 바로 가기를 데스크탑에 배치 할 수 있습니다.

Netbeans의 특정 디렉토리에서 Cygwin 쉘을 여는 방법에 게시 된 솔루션에서 영감을 얻었습니다 . 에서 superuser.com .


4

Cygwin.bat 파일을 찾아 다음과 같이 컨텐츠를 작성하십시오.

@echo off
set newpath=%cd:\=/%
pushd "%~dp0"
chdir bin
bash --login -i -c "cd \"%newpath%\"; exec bash"

환경 PATH에 cygwin.bat의 경로를 추가하십시오.

이제 어느 폴더에서나 주소 표시 줄에 입력 할 수 있습니다.

cygwin

또한 cmd.exe에 입력하면 입력 할 수 있습니다


3

다음 코드 줄을 사용하여 Win7의 현재 디렉토리에서 zsh를 시작했습니다.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="\"C:\\Programmieren\\cygwin64\\bin\\mintty.exe\" -i /Cygwin-Terminal.ico /bin/zsh --login -c 'cd \"%V\";zsh'"

% L 또는 % 1 대신 % V를 사용했습니다 (둘 다 작동하지 않기 때문에)


3

새로 설치해야 할 경우 Windows "사용자 환경 변수"라는 이름을 만들어 HOME"내 문서"가있는 곳의 경로를 지정합니다.

cygwin 설치 프로그램은 HOME변수를 감지하고 이를 자동으로 cygpath로 변환하고이를 ~ 디렉토리로 선택합니다.

이것은 지난 5 년간 전문적으로 사용한 모든 워크 스테이션 (Win7의 약 3 또는 4)에 대해 잘 작동했습니다. 나는 항상이 기계에서 유일한 사용자였으며 그 효과가 무엇인지 말할 수 없습니다.


3

오른쪽 클릭 한 폴더에서 Cygwin을 열 수있는 레지스트리 편집 스크립트를 만들었습니다. 내 GitHub에 있습니다.

여기 내 GitHub가 있습니다

RegEdit64 비트 시스템 용 Github의 샘플 코드 :

REGEDIT4

[HKEY_CLASSES_ROOT\Directory\shell\CygwinHere]
@="&Cygwin Bash Here"

[HKEY_CLASSES_ROOT\Directory\shell\CygwinHere\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\CygwinHere]
@="&Cygwin Bash Here"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\CygwinHere\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""

"레지스트리 액세스 오류"가 표시되는 경우 아래 ... @mpersico에 의한 오류를 참조 대답은 나에게 15분 : 저장 한 것
다니엘 Sokolowski

2

Cygwin 터미널을 관리자 권한으로 엽니 다

powershell에서 (초콜릿 사용) :

choco install cyg-get

cygwin에서 설치 오른쪽 클릭 메뉴

cyg-get install chere
chere -i

이제 마우스 오른쪽 버튼을 클릭하고 아무 폴더에서나 "Bash Prompt Here"를 사용할 수 있습니다.


1

파일 Icon경로에 필드 세트를 추가하여 아이콘을 쉘에 추가 할 수 Cygwin.ico있습니다.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Cygwin"
"Icon"="\"C:\\cygwin64\\Cygwin.ico\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin64\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"

나는 xhere의 존재에 대한 전제 조건이 다른 답변에서 언급했듯이 chere의 설치라고 생각합니다.
사무엘

1

내 Windows 컴퓨터에서 다음을 수행하지 않았습니다.

치어 리 -i -t 박하

민트 쉘을 사용할 수 없었으므로 ash bash cmd dash mksh pdksh posh tcsh zsh passwd와 같은 다양한 다른 쉘을 선택할 수 있습니다.

그래서 나는 사용했다 :

치어 -i -s bash


Mintty는 쉘이 아니며 터미널 에뮬레이터입니다.
Palec

이것이 원래 질문에 어떻게 대답합니까?
Leigh

이것은 시스템에 박하가없는 사람들에게 도움을 제공하고 위에 제공된 솔루션을 시도 할 때 오류가 발생합니다. 또한 위에 제공된 솔루션을 따랐지만 Windows 시스템에서는 작동하지 않았지만 내 대답은 문제를 해결했습니다.
user3065757

1

cygwin 터미널을 열고 다음과 같이 쓸 수 있습니다 : cd 그리고 드래그 앤 엔터를 원하는 폴더에 놓으십시오!


이 방법으로 질문을 완전히 해결할 수는 없지만 매우 유용한 팁입니다. 감사.
RoG

1

레지스트리를 사용하는 대답에서 Windows 2008 R2 SP1에서 백그라운드에서 백그라운드를 삭제해야한다는 것을 알았습니다. 또한 chere와 xhere는 cygwin64의 일부가 아니므로 레지스트리와 보내기 솔루션을 결합하여 사용할 수있는 솔루션이 있습니다. 'E : \ cygwin64'를 설치 위치로 바꾸십시오.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash\command]
@="E:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico --exec /bin/bash.exe --login -c \"cd '%1' ; exec bash -rcfile ~/.bashrc\""

0

이것은 Windows 8.1에서 나를 위해 일한 유일한 Cygwin64 레지스트리 솔루션입니다.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\mintty]
@="Mintty from Here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\shell\mintty\command]
@="C:\\cygwin64\\bin\\mintty.exe -h always -e /usr/bin/ash -c 'cd  \"$(/usr/bin/cygpath \"%L\")\";  exec /usr/bin/bash  '"

필요에 따라 'C : \ cygwin64'경로를 수정하십시오.


0

배치 파일을 만들어 Cygwin의 / bin 디렉토리에 넣었습니다. 이 스크립트는 Cygwin에서 선택한 폴더와 드라이브를 열기위한 레지스트리 항목을 설치 / 제거 할 수 있도록 개발되었습니다. 자세한 내용은 http://with-love-from-siberia.blogspot.com/2013/12/cygwin-here.html 링크를 참조하십시오 .

업데이트 :이 솔루션은 초기 제안과 동일하지만 Windows 레지스트리의 모든 조작은 스크립트 내에 숨겨져 있습니다.

설치 명령을 수행하십시오

cyghere.bat /install

제거 명령을 수행하십시오.

cyghere.bat /uninstall

0

나는 또한 git과 관련하여 cygwin 명령을 "훔치는"데 문제가 있었으므로 실행해야
C:\cygwin\bin\mintty.exe -
했지만 관리자로 설치 chere하고 실행 한 후 chere -i -t mintty -f(위 참조) 간단히 사용할 수 있습니다
C:\cygwin\bin\mintty.exe -e /bin/xhere /bin/bash.exe "."
.Total Commander에서 이것을 사용자 정의 버튼으로 추가했습니다 (오른쪽 패널> 추가 ...)를 클릭하면 잘 작동합니다.


0

move.sh다음 코드를 가진 bash 파일 만들기 C:\cygwin64\bin\run.exe -p /bin bash runFile.sh Cygwin을 시작하고 Cygwin runFile.sh의 bin 디렉토리에 현재 파일을 실행합니다 . 특정 디렉토리로 이동하려는 E:\code 경우 runFile.sh에 다음 코드가 있다고 가정하십시오.cd E: cd code


0

마지막으로 Cygwin 자체와 독립적 인 답변입니다.

이것은 내가 디렉토리에 나는 경우는 사실을 사용 C:\\Cool하고 내가 명령을 호출 C:\\Cygwin\\bin\\mintty.exe, mintty즉 현재 디렉토리에 자동으로 열립니다 C:\\Cool.

먼저 C:\\Cygwin\\silent_run.vbs다음 내용으로 파일을 작성해야합니다 .

Function EnquoteString(argument)
  EnquoteString = Chr(34) & argument & Chr(34)
End Function

arglist = ""
With WScript.Arguments
    For Each arg In .Unnamed
        ' Wscript.Echo "Unnamed: " & arg
        If InStr(arg, " ") > 0 Then
            ' arg contains a space
            arglist = arglist & " " & EnquoteString(arg)
        Else
            arglist = arglist & " " & arg
        End If
    Next
End With

CreateObject("Wscript.Shell").Run Trim( arglist ), 0, False

다음으로이 답변을 설치하려면 Windows 레지스트리 파일을 사용합니다. 이를 위해 다음 파일의 내용을 이름이 지정된 파일에 넣으십시오.C:\\Cygwin\\AddMinttyToContextMenu.reg

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal Here]
"Icon"="\"C:\\Cygwin\\bin\\mintty.exe\""
"Position"="Middle"
@="Terminal Here"
"CommandFlags"=dword:00000020

[HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal Here\Command]
@="\"C:\\Cygwin\\bin\\mintty.exe\" -w max"


[HKEY_CLASSES_ROOT\Directory\shell\Terminal Here]
"Icon"="\"C:\\Cygwin\\bin\\mintty.exe\""
"Position"="Middle"
@="Terminal Here"
"CommandFlags"=dword:00000020

[HKEY_CLASSES_ROOT\Directory\shell\Terminal Here\Command]
@="cmd.exe /c cd /d \"%V\" && wscript \"C:\\Cygwin\\silent_run.vbs\" \"C:\\Cygwin\\bin\\mintty.exe\" -w max"

이제 모든 하드 코딩 된 경로를 C:\\CygwinCygwin 설치가있는 실제 위치로 수정하십시오.

그런 다음 파일 C:\\Cygwin\\AddMinttyToContextMenu.reg을 열어서 새 레지스트리 항목을 설치하면 완료됩니다.

파일 C:\\Cygwin\\AddMinttyToContextMenu.reg은 먼저 a를 열고 현재 cmd.exe있는 디렉토리로 변경 한 다음 명령 행 옵션으로 터미널 C:\\Cygwin\\silent_run.vbs을 열도록 호출 하여 작동합니다.C:\\Cygwin\\bin\\mintty.exe-w max 예 : 최대화 된 상태 합니다.

스크립트 C:\\Cygwin\\silent_run.vbs는 우리 C:\\Cygwin\\bin\\mintty.exe가 처음 열어 본 상태를 유지하지 않고 터미널 을 열어야합니다 cmd.exe.

첫 번째 항목은 기본적으로 키가 현재 디렉토리에서 이미 열려 있기 때문에 C:\\Cygwin\\AddMinttyToContextMenu.reg사용하지 않으며 , 즉시 호출 하여 즉시 사용할 수 있습니다.C:\\Cygwin\\silent_run.vbsHKEY_CLASSES_ROOT\Directory\Background\shellC:\\Cygwin\\bin\\mintty.exe

참고 문헌 :

  1. 폴더의 Windows 탐색기에 상황에 맞는 메뉴 항목을 추가하는 방법
  2. 공백이있는 경로에서 VBScript 전달 명령 행 인수
  3. 공백과 따옴표가있는 명령을 단일 매개 변수로 CScript에 전달하는 방법은 무엇입니까?
  4. 인수를 전달하는 다른 vbscript 파일에서 vbscript 호출
  5. https://ss64.com/vb/syntax-args.html
  6. 문자열에 공백이 있는지 확인하십시오
  7. VbScript를 사용하여 명령 줄을 자동으로 실행하고 출력합니까?
  8. http://www.vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp
  9. /superuser/62525/run-a-batch-file-in-a-completely-hidden-way
  10. VBscript에서 인수로받은 배치 스크립트를 실행하는 방법은 무엇입니까?
  11. VBScript (cscript로 시작된 vbs 파일)에 인수를 전달할 수 있습니까?

-1
@echo off
C:
SET mypath=%~dp0
c:\cygwin\bin\bash -c "cd '%mypath%'; export CHERE_INVOKING=1; exec /bin/bash --login -i"

위의 명령을 텍스트 파일로 복사하고 "관심있는 폴더"에 .bat로 저장하십시오. "관심 폴더"에서 cygwin을 열어야합니다.


-1

@LindseyD 답변을 기반으로 현재 디렉토리에서 cygwin을 여는 간단한 BAT 파일을 만들면 유용 할 수 있습니다. PATH에 cygwin의 bin 디렉토리가 있다고 가정하십시오.

FOR /F %%x IN ('sh -c pwd') DO bash -l -i -c 'cd %%x; exec bash'

-1

나는 왜 그렇게 많은 시간을 낭비하지 않았는지 모르겠지만 10, 64 비트 승리에서 나에게 효과적입니다.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""

-1

아마도 가장 간단한 것 :

1) foo.reg 파일 생성

2) 내용 삽입 :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\background\shell\open_mintty]
@="open mintty"

[HKEY_CLASSES_ROOT\Directory\background\shell\open_mintty\command]
@="cmd /C mintty"

3) foo.reg를 실행

이제 아무 폴더 나 마우스 오른쪽 버튼으로 클릭하고 클릭 open mintty하면 해당 폴더에 민트가 생성됩니다.


-2

아래처럼하는 것이 가장 좋습니다 :

HKEY_CLASSES_ROOT\Directory\shell\BashHere
Enter Data: Bash Here

HKEY_CLASSES_ROOT\Directory\shell\BashHere\command
Enter Data: 

cmd.exe /c C:\cygwin\bin\bash.exe --login -c "cd '%1'; exec /bin/bash"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.