dポイントプレゼントキャンペーン実施中!

PC1からPC2の共有フォルダへのフォルダ作成とファイルコピーを行いたいのですが、
フォルダ作成に「_mkdir」を使用しているのですが、
これではフォルダを作成してくれませんでした。

ファイルコピーも「CopyFile」で1個づつコピーすることはできたのですが、
複数のファイルを一気にコピーする方法がわかりません。
これも「SHFileOperation」を使用してみたのですが、
ネットワークでは使用できないみたいです。

要は、PC1からPC2の共有フォルダへ、
指定のフォルダとその中のサブフォルダ及びファイル類全てを
コピーしたいのです。
Windows上でドラック&ドロップで行うような感じです。

元々はPC1内だけでのフォルダ作成やファイルコピーをしていいたのですが、
これをネットワークでもできるようにしないとならなくなり、
調べてみたのですが、
いまいちネットワークプログラミングを理解できなくてこちらに質問させて頂きました。

どなたか情報をお持ちの方がいらっしゃいましたら
お力をお貸しください。
よろしくお願いいたします。

A 回答 (1件)

> フォルダ作成に「_mkdir」を使用しているのですが、


> これではフォルダを作成してくれませんでした。

CreateDirectoryだとどうでしょうか。

CreateDirectory
http://msdn.microsoft.com/ja-jp/library/cc429194 …

> これも「SHFileOperation」を使用してみたのですが、
> ネットワークでは使用できないみたいです。

そんなことはないはずです。現に私はネットワーク越しのコピーに使ってます。
    • good
    • 0
この回答へのお礼

m-take0220さん回答ありがとうございます。

>CreateDirectoryだとどうでしょうか。
CreateDirectoryでフォルダ作成できました。
ありがとうござます。

ただ、サブフォルダが結構作られる状態になりそうで、
(仕様の変更で…)
MakeSureDirectoryPathExists関数を使おうかと思っています。


>> これも「SHFileOperation」を使用してみたのですが、
>> ネットワークでは使用できないみたいです。
>そんなことはないはずです。現に私はネットワーク越しのコピーに使ってます。
申し訳ありません。
私の勘違いでした。

ネットで調べた時に
「この関数は、ローカルドライブから、ネットワークパスで指定されるリモートコンピュータへ、特殊フォルダを移動させることはできません。」

と書いてあって、特殊フォルダという部分を見落としていました。
申し訳ありませんでした。
こちらもうまくいきました。

ただ、はじめはうまくいかなく、
戻り値:183が返ってきてしまっていました。
フォルダの生成がうまくいったあたりからこちらも成功するようになり、
パスの設定がおかしかったのかなと思っています。


それで、もしかしたら私のやりたいことは
「SHFileOperation」関数だけで済むかもしれません。
「SHFileOperation」関数は指定パスのサブフォルダの生成もしてくれるんですね。

前は一生懸命「_mkdir」関数で一つずつフォルダを生成していました。

「SHFileOperation」関数だけで行なってみたところ
サブフォルダの生成も全て行なってくれました。

「SHFileOperation」関数だけで
コピーを行なおうかと思います。


どうもありがとうございました。

お礼日時:2013/03/11 17:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!