2011-01-21 2 views
3

ホームグループの共有フォルダに画像をコピーしたいとします。 私は>[スタート]メニューから[実行]> [cmd.exe]をCMD.EXEを開いて、入力した:Cでcmdを使用してファイルを他のコンピュータにコピーする

copy C:\pic1.png \\SOMECOMP\Users\SOMEONE\Shared 

絵がうまくコピーされています。しかし 、私はそのように、C#のと同じことをしよう:

System.Diagnostics.Process.Start(@"cmd.exe", @"/c start copy C:\pic1.png \\SOMECOMP\Users\SOMEONE\Shared"); 

私は、次のメッセージが出ます:

アクセスが拒否されました。

これはどのように修正できますか?

P.S. - File.Copyは同じエラーをスローします。私の場合、cmdの方法はもっと有望だった。

+6

C#で直接ファイルをコピーするのではなく、コマンドを実行しようとするのに 'cmd.exe 'を使用する理由はありますか? http://msdn.microsoft.com/en-us/library/cc148994.aspx –

+1

.NETがファイルをコピーするためのメソッドを提供するときに、System.Diagnostics.Processを使用してファイルをコピーする理由は何ですか? – David

+0

@Davidおそらく彼はFile.Copyが.Net Frameworkの一部であることを本当に知らなかったのでしょうか? – Alex7575

答えて

5

なぜを使用してファイルをコピーすると、File.Copyが表示されますか?

File.Copy(@"C:\pic1.png", @"\\SOMECOMP\Users\SOMEONE\Shared\pic1.png", true); 

限り、アクセスが拒否されたように、メッセージが関係している、あなたは下のあなたのプログラムを実行しているアカウントがASP.NETアプリケーションやWindowsの場合ではないかもしれません。このUNC共有への書き込み権限を持っていることを確認する必要があります限られた権限アカウントで実行されるNTサービス

+0

はい、OK、destパス引数の最後に 'pic1.png'がありますか?またどのように許可について? –

+0

私が言ったように、アプリケーションを実行しているアカウントに書き込み権限を与える必要があります。どのような用途ですか? Windows、ASP.NET、...? –

+0

これを試してください。 File.Copyを使用してC#アプリケーションを記述します。ビルドした後、IDEから実行しないでください。 Debugディレクトリの実行可能ファイルを右クリックしてください.Adn Run As Admin – xbonez

0

は、おそらくあなたは、ファイルをコピーするSystem.IO.File名前空間を使用することができれば、そうでもディレクトリ

& "net" "use" "$mapdrive" "$password" "/USER:$username" 
& "copy" $src "$dest" 
& "net" "use" $mapdrive "/delete" 

にマッピングする必要があります。

関連する問題