0

私は Tcl 言語を数日しか使用していませんが、他の言語でのプログラミングにも慣れています。ただし、コマンドcdを使用してバッチ言語で実行できるため、現在のディレクトリまたはパスを設定する方法に関する参照はどこにも見つかりません。

Tcl を使用していくつかの異なるプログラムを統合しているため、これが必要です。これらの 1 つには、現在のパスを認識するという明らかな問題があります。以前に cd でパスを設定し、このプログラムがあるフォルダーをバッチファイルから実行すると、すべて正常に動作します。

ただし、バッチ ファイルを使用する代わりに基本的な Tcl スクリプトを使用してこのプログラムを呼び出すと (私は exec を使用します)、必要なフォルダーまたはファイルが見つからないようです。おそらく、使用する相対パスが正しくマップされていないためです。 .

TclのバッチCDの同等のバージョンを知っている人はいますか??

ありがとう!!

4

5 に答える 5

6

TCL コマンドの cd と pwd だけを使用できます。それだけで十分です。詳細については、 http://www.tcl.tk/man/tcl8.5/TclCmd/cd.htmを参照してください。

于 2011-11-18T14:21:31.377 に答える
4

これは、Windows コンピューターで tcl スクリプトを実行するときに学んだトリックです。{} を Windows パスの前後に配置すると、すべての「\」から「/」を編集して機能させる必要がなくなります。そうすれば、Windows エクスプローラーからカット アンド ペーストできます。

cd {C:\paste\your\desired\windows\path\directly\here}

于 2015-04-21T22:42:57.700 に答える
2

CD の TCL は (drum roll) cdです。

于 2011-11-18T14:19:45.217 に答える
2

Tcl にはcdコマンドもあります。- http://www.tcl.tk/man/tcl8.5/TclCmd/cd.htm

于 2011-11-18T14:20:58.567 に答える
0

返信ありがとうございます。私は自分が抱えていた問題を今理解しました。私は当初、標準のバッチ言語のように cd コマンドを使用しようとしていました。統合しようとしているプログラムには既に cd コマンドがあり (組み込みのオーバーロード)、Tcl には cd コマンドがないと結論付けました。この 2 番目のバージョンの結果です。

残念ながら、この 2 番目のバージョンを別の名前に変更することは、状況によっては不可能であるため、おそらく cd の組み込みバージョンの名前を変更する必要があります (これが可能かどうか、またはその方法を知っている人はいますか?) .

改めてですが、皆様ご協力ありがとうございました!

于 2011-11-21T17:04:15.363 に答える