[VB.NET ファイルのコピーと貼り付け]


VisualBasic2008Expressでプログラムしています。

プログラムがあるフォルダに存在するファイル "example.dll" をコピーして、
フォルダ "C:\examplefolder\" に貼り付けたい
(そのフォルダが無ければ作成して貼り付け、すでに同名のファイルがあれば上書き貼り付け)

を行いたいのですが、どのようなコードを書けばよいのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2010/01/26 02:23:25
  • 終了:2010/02/02 02:25:02

回答(1件)

id:heke2mee No.1

heke2mee回答回数162ベストアンサー獲得回数432010/01/26 03:34:47

ポイント60pt

エラー処理は追加してください

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim newDirectory As String 'コピー先のディレクトリ名

Dim newFileName As String 'コピー先のファイル名

Dim srcFileName As String 'コピー元

srcFileName = "C:/Work/Test.dll"

newDirectory = "C:/AAAA"

newFileName = ""

'フォルダがなければ作成する

If (Not System.IO.Directory.Exists(newDirectory)) Then

System.IO.Directory.CreateDirectory(newDirectory)

End If

'コピー先のディレクトリ名の末尾に"\"をつける

If (newDirectory.Chars((newDirectory.Length - 1)) <> System.IO.Path.DirectorySeparatorChar) Then

newDirectory += System.IO.Path.DirectorySeparatorChar

End If

newFileName = newDirectory + System.IO.Path.DirectorySeparatorChar _

+ System.IO.Path.GetFileName(srcFileName)

'上書きコピー

System.IO.File.Copy(srcFileName, newFileName, True)

End Sub

  • id:heke2mee
    追加情報

    カレントディレクトリは、これで取れます
    System.IO.Directory.GetCurrentDirectory()
  • id:ardarim
    id:heke2meeさん

    こっち(http://q.hatena.ne.jp/1263147520)でも回答しましたが、カレントディレクトリと「プログラムがあるフォルダ」は厳密には違いますよ。
    カレントディレクトリはプログラム実行中にも変わりうるし、そもそも起動時に一致していない場合もあります。
    「プログラムがあるフォルダ」は、My.Application.Info.DirectoryPathです。
  • id:heke2mee
    id:ardarimさん

    訂正ありがとうございます。
    コメント見てませんでした。申し訳ない。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません