C言語関係掲示板

過去ログ

No.1248 systemコマンドで、違うサーバからファイルをコピー

[戻る] [ホームページ]
No.2582

systemコマンドで、違うサーバからファイルをコピー
投稿者---momota(2004/08/30 13:33:38)


systemコマンドを使って、違うサーバからファイルをコピーしようとしています。

DOSプロンプトから、以下のように実行すればうまくコピーできます。
C:\C>copy \\サーバ名\ドライブ名\ディレクトリ名\ファイル名
1 個のファイルをコピーしました。

しかし、Cの中で以下のようにコーディングすると、
system("copy \\サーバ名\ドライブ名\ディレクトリ名\ファイル名");

このようなエラーが出てしまいます。
C:\C>fileinout.exe
指定されたファイルが見つかりません。



また同様に、以下のコマンドはうまく動作しますが、
C:\C>net use i: \\サーバ名\ドライブ名\ディレクトリ名 ドメイン\ユーザ名/パスワード

以下のコーディングでは
system("net use i: \\サーバ名\ドライブ名\ディレクトリ名 ドメイン\ユーザ名/パスワード");
system("copy i:\ファイル名 ファイル名");
system("net use /delete i:");

以下のようなエラーが発生します。
C:\C>fileinout.exe
システム エラー 67 が発生しました。
ネットワーク名が見つかりません。
指定されたドライブが見つかりません。
ネットワーク接続が見つかりませんでした。
NET HELPMSG 2250 と入力すると、より詳しい説明が得られます。


原因について調べているのですが、サッパリわかりません。
どなたかご教授いただければありがたいのですが。

実行環境はWin2000サーバSP4です。


No.2584

Re:systemコマンドで、違うサーバからファイルをコピー
投稿者---ホワイト(2004/08/30 14:00:25)


サーバー名だけでなくドライブ名なども全て\\をつけてみてください。


No.2586

Re:systemコマンドで、違うサーバからファイルをコピー
投稿者---momota(2004/08/30 14:32:04)


早速のコメントありがとうございます。
ご教示いただいたとおりに、\を\\に変えてやってみたのですが、
やはり同じエラーでうまくいきません。。。。。



No.2588

Re:systemコマンドで、違うサーバからファイルをコピー
投稿者---Ban(2004/08/30 14:38:29)


非常に基本的なことですが、C 言語の文字列だと、
\ は \\ で一文字 (\\ にしたければ\\\\)になりますが
それは大丈夫ですか?



No.2590

Re:systemコマンドで、違うサーバからファイルをコピー
投稿者---momota(2004/08/30 15:03:08)


コメントが早くて大変助かります。
ありがとうございます。
非常に申し訳ないのですが、非常に基本的なことを知りませんでした。
ご指摘いただいたとおりにやればできました。
当方C言語に不慣れなもので。。。。

ご教授いただきありがとうございました。