特定のフォルダーでCygwinを開くCygwinショートカットを作成するにはどうすればよいですか?これにより、入力する必要がなくなります
cd /cygdrive/c/Users/Tom/Desktop/
cygwinを起動するたびに。
Cygwinをインストールするとき(または既にインストールしている場合は、再度ダウンロードしてセットアップを開始して更新を実行します)、「Shells」カテゴリでchere
パッケージを選択してください。
Cygwinの起動後、Cygwinターミナルを(管理者として)開き、コマンドchere -i -t mintty -s bash
を入力します。
これで、Windowsの右クリックコンテキストメニューに「Bash Prompt Here」が表示されます。
( mintty はCygwinのデフォルト端末です。-t
オプションで選択しない場合、「Bash Prompt Here」はWindowsコマンドプロンプトと同じ端末を使用し、水平方向のサイズ変更を防ぎます。)
これが私が使用するものです。 chere
パッケージまたはレジストリの調整は必要ありません。 Windows 7で動作します。
「送信先」フォルダーに移動します。
C:\Users\<your_user_name>\AppData\Roaming\Microsoft\Windows\SendTo
Target
フィールドにこれを含むBash Here
という名前のショートカットを作成します。
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 .
部分はバックティックで囲まれています。
Bashプロンプトでwinx
と入力すると、Win Explorerがポップアップ表示されます。
注:winxからドキュメントフォルダーに移動する場合は、試してください
alias winx='/cygdrive/c/Windows/Explorer.exe /e,`cygpath -w $PWD`'
Cygwinターミナルから、次のコマンドを実行します。
echo "cd your_path" >> ~/.bashrc
.bashrcスクリプトは、新しいbashセッションを開くときに実行されます。上の変更を伴うコード your_path 新しいcygwinセッションを開いたときのディレクトリ。
右クリックコンテキストメニューに「ここでCygwinを開く」オプションを配置する.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"
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'"
そのディレクトリをデフォルトとして使用する場合は、cd
ステートメントを~/.profile
ファイルに追加するだけです。
私がしがちなのは、そのメソッドを使用して通常のディレクトリを設定し、一般的なケースのエイリアスも定義することです。
alias tom="cd /users/tom"
またはあなたの同等。これにより、ディレクトリを非常に高速に変更できます。
アイコンを使用して、chere
パッケージなしでcygwinを起動します。
C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
C:\some\dir\name\here
Two7s_clashが言ったように、最初にchere
パッケージをインストールし、minttyをセットアップする必要があります。
apt-cyg install chere
chere -i -t mintty
これで、Windowsエクスプローラー(コンテキストメニュー)でマウスの右クリックで特定のディレクトリのcygwinを開き、[Bash Prompt Here]を選択できるようになりました。
Windowsコマンドプロンプトを使用して、特定のディレクトリからcygwinを開くこともできます。
cd
)をカスタムディレクトリに移動しますC:\cygwin64\bin\mintty.exe C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l
を実行します
このコマンドは、コマンドプロンプトから取得した現在のディレクトリでcygwinを開きます。
このコマンドは、FreeCommanderなどのカスタムファイルマネージャーからcygwinを開くためにも使用できます。
FreeCommanderから取得した現在のディレクトリでcygwinを開くには、次を実行します。
新しいツールバー(+アイコン)を追加、ショートカット:挿入
C:\cygwin64\bin\mintty.exe
%ActivDir%
C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l
FreeCommanderからcygwinを開くカスタムショートカットを追加できます。
素晴らしいリファレンス: MinTTY Wiki、記事のヒント:特定のディレクトリで開始
自分で選択したディレクトリで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 Shellを開く方法 at superuser.com に投稿されたソリューションに触発されました。
ファイル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で入力することもできます
右クリックしたフォルダでCygwinを開くレジストリ編集スクリプトを作成しました。私のGitHubにあります。
64ビットマシン用のGithubからのサンプルRegEdit
コード:
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\""
次のコード行を使用して、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を使用したことに注意してください(両方が私のために機能しなかったため)
新規インストールが必要な場合は、HOME
という名前のWindows "ユーザー環境変数"を作成し、 "My Documents"が存在する場所のパスを割り当てます。
CygwinインストーラーはHOME
変数を検出し、これを自動的にcygpathに変換し、これをmy〜ディレクトリーとして選択します。
これは、私が過去5年間にプロで使用したすべてのワークステーション(約3または4、Win7)で正常に機能しました。私は常にこれらのマシンの唯一のユーザーであり、その効果が何であるかを言うことはできません。
Cygwinターミナルを管理者として開きます
Powershellで(チョコレートを使用):
choco install cyg-get
Cygwinでインストールする右クリックメニュー
cyg-get install chere
chere -i
これで、右クリックして、任意のフォルダで「Bash Prompt Here」を使用できます。
レジストリを使用する回答で、Windows 2008 R2 SP1では、パスからバックグラウンドを削除する必要があることがわかりました。さらに、chereとxhereはcygwin64の一部ではないため、レジストリとSend Toソリューションを組み合わせて、両方に有効なソリューションを以下に示します。 「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\""
Cygwinターミナルを開いて次のように書くだけです:cdそしてドラッグした後、終了したいフォルダーをドロップしてください!
私のWindowsマシンでは、次のことは行われませんでした。
chere -i -t mintty
Minttyシェルは使用できなかったため、ash bash cmd dash mksh pdksh posh tcsh zsh passwdなどのさまざまなシェルを選択できます。
だから私は使用しました:
chere -i -s bash
バッチファイルを作成し、Cygwinの/ binディレクトリに配置しました。このスクリプトは、Cygwinで選択したフォルダーとドライブを開くためのレジストリエントリをインストール/アンインストールできるように開発されました。詳細については、リンク http://with-love-from-siberia.blogspot.com/2013/12/cygwin-here.html を参照してください。
更新:このソリューションは初期の提案と同じですが、Windowsレジストリでのすべての操作はスクリプト内に隠されています。
コマンドを実行してインストールする
cyghere.bat /install
アンインストールするコマンドを実行します
cyghere.bat /uninstall
これは、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」パスを変更してください。
Cygwin.ico
ファイルへのパスにIcon
フィールドセットを追加することにより、シェルにアイコンを追加できます。
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"
次のコードを持つmove.sh
というbashファイルを作成しますC:\cygwin64\bin\run.exe -p /bin bash runFile.sh
これによりCygwinが起動し、CygwinのbinディレクトリにあるrunFile.sh
が実行されます特定のディレクトリに移動するとしますE:\code
その後、runFile.shには次のコードがありますcd E: cd code