3

これは機能します:

1> file:copy(test.html, test1.html).
{ok,2384}

しかし、これはしません:

2> file:copy(test.html, sites/test.html). 
   ** exception error: bad argument in an arithmetic expression
   in operator  '/'/2
   called as sites / 'test.html'

Erlang でディレクトリ間でファイルをコピーするにはどうすればよいですか?

どうもありがとう、

LRP

4

2 に答える 2

14

問題は、sites/test.html特殊文字があり、一重引用符で囲む必要があることです。試す:

file:copy(test.html, 'sites/test.html').

または、文字列を使用できます。

file:copy("test.html", "sites/test.html").
于 2012-08-01T21:26:55.900 に答える
0

いくつかの大きなファイルは、erlang内でそれらをコピー/移動するときに問題を引き起こします。を使用する方が安全な場合がありますos:cmd/1。このような:

move(ソース、宛先)->
    %%Windowsの場合
    コマンド="MOVE\" "++ Source ++" \ "\" "++ Destination ++" \ ""、
    %% Unix/Linuxの場合
    %% Command = "mv \" "++ Source ++" \ "\" "++ Destination ++" \ ""、
    spawn(os、cmd、[コマンド])。
copy(ソース、宛先)-> %%Windowsの場合 Command = "XCOPY \" "++ Source ++" \ "\" "++ Destination ++" \ ""、 %% Unix/Linuxの場合 %% Command = "cp \" "++ Source ++" \ "\" "++ Destination ++" \ ""、 spawn(os、cmd、[コマンド])。

于 2012-08-03T08:51:26.153 に答える