2009-09-03 4 views
4

私はディレクトリを変更します。cmd/1

os:cmd("cd d:\temp"). 

を使用してgen_serverが、何もhappenseからコマンドラインでディレクトリを変更しようとしている、リターンはちょうど空のリストであると私は同じに残りますディレクトリ。 アイデア?

+0

あなたはDドライブにいますか? "cd/dd:\ temp"を試してください – Alan

答えて

7

ファイル:set_cwd(Dir)を使用して、現在のディレクトリを変更してみてください。

+0

ありがとう、私はcd()シェルコマンドの代わりに探していました。私はそれを含めるために私のポストを編集しました。 +1 –

+0

私はあなたが投稿してそれが動作する前にその秒を試しました。優れた。私はあきらめて寝るつもりだった。今、私は幸せに寝ることができます。 – Damian

5

cmd()は、ディレクトリを変更するように指示しているサブシェルを実行し、サブプロセスは終了し、親プロセスの環境について何も変更しません。

シェルの場合はcd()を、Erlangプログラムの実行時はset_cwd()を使用します。

別のプログラムを実行し、Erlangが使用しているものと異なる作業ディレクトリを使用する場合は、{cd、Dir}タプルをopen_port()に渡すこともできます。

+0

申し訳ありません "あなたはcd()を代わりにしたい"という意味を説明できますか? – Damian

+0

erlシェル内では、これを言うことができます:cd( "d:/ temp") 。 (スラッシュに注意してください。Erlang文字列に必要なバックスラッシュを二重にする必要はありません) –

関連する問題