私はこれを達成しようとして気が狂います。Stack Overflow に関する多くの質問を読みましたが、うまくいきませんでした。パラメータとして渡されたパスでCygwinを開くconsole2のタブを開こうとしています。
cmd.exe の場合は、非常に簡単です。
cmd.exe %1
Cygwin の場合、これは非常に難しいように見えます。
bash --login -i -c 'cd `cygpath \'D:\Program Files\'`;exec bash'
ここでの問題は、スペースのないパスではうまく機能し、スペースでは機能しないことです。また、パラメータを渡す方法がわかりません。おそらく $1 または %1?
編集1:
私はほとんどそこにいます.bash.exeの代わりに直接実行する必要があるこのバッチファイルを作成しました:
@echo off
set CHERE_INVOKES=%CD%
set TORUN="D:\Program Files\Cygwin\bin\bash.exe" --login -i -c 'cd "%CHERE_INVOKES%"; exec bash'
echo %TORUN%
call %TORUN%
PAUSE
これは、C: (および D:) を除くすべてのパスで機能しますが、その理由は? Windows は愚かで、C: というパスではなく、C:!!! というパスを持っています。したがって、すべてのパスはバックスラッシュなしで終了しますが、最初のパスはバックスラッシュで終了し、私を怒らせます!