gbiggs / rtshell

Shell commands for managing RT-Middleware running on OpenRTM-aist.
http://openrtm.org
GNU Lesser General Public License v3.0
10 stars 17 forks source link

rtcwd on Windows #29

Closed y-masutani closed 8 years ago

y-masutani commented 8 years ago

Windowsでは,バッチファイルからバッチファイルを呼び出すと,元のバッチファイルに戻ることなく終了します.rtcwdは,Windowsでは以下のようなバッチファイルとして実装されています.

python -c "..." > settmp.bat settmp del settmp.bat

しかし,settmp.batへ飛んだ後戻ってこないので,del settmp.batは実行されず,カレントディレクトリにsettmp.batが残ったままになります.

python -c "..." > settmp.bat call settmp del settmp.bat

とすれば,その問題は解消します.

また,rtcwdをバッチファイルの中で使う場合に,同じことが原因で問題があります.

rtcwd /foo/bar

と書きたいのですが,

call rtcwd /foo/bar

と書かないと期待したことはできません.

何かいい方法はないでしょうか?Windowsではこれが限界でしょうか?

gbiggs commented 8 years ago

1番目の問題をソースで修正しました。ご指摘、ありがとうございます。

2番目の問題について、Windowsではバッチファイルと環境変数のまわりは限界が厳しいです。rtcwdが動くでけでも、変なやり方を使わないといけません。残念ですが、私が調べた結果はWindowsでは示した呼び方はできないらしいです。

もし何かいい方法を見つけたら、ぜひ教えてください。ソースに追加します。