現在、VB.NETを使用して、
設定ファイル(.config)を読み込み、指定されたフォルダ内の全てのファイルを指定されたコピー先フォルダへコピーする
という簡単なアプリケーションを勉強として作成しています。
VB.NET自体経験が浅く、ネットにて調べながら作業を行っているのですが
不明点にあたり、どうしたものかわからなくなってしまったので質問を投稿させていただきました。
VB.NET
1'メインクラス 2Public Class Main 3 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 4 Dim strFile As String 5 Dim コピー先フォルダ As String = Configuration.ConfigurationManager.AppSettings("Folder00") 6 Dim 経理課フォルダ As String = Configuration.ConfigurationManager.AppSettings("Folder01") 7 8 For Each strFile In System.IO.Directory.GetFiles(経理課フォルダ, "*.*") 9 FileCopy(strFile, コピー先フォルダ) 10 Next 11 12 End Sub 13End Class
VB.NET
1コンフィグファイル(.config) 2<?xml version="1.0" encoding="utf-8" ?> 3<configuration> 4 <system.diagnostics> 5 <sources> 6 <!-- このセクションでは、My.Application.Log のログ構成を定義します。 --> 7 <source name="DefaultSource" switchName="DefaultSwitch"> 8 <listeners> 9 <add name="FileLog"/> 10 <!-- アプリケーション イベント ログに書き込むには、以下のセクションのコメントを解除します --> 11 <!--<add name="EventLog"/>--> 12 </listeners> 13 </source> 14 </sources> 15 <switches> 16 <add name="DefaultSwitch" value="Information" /> 17 </switches> 18 <sharedListeners> 19 <add name="FileLog" 20 type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" 21 initializeData="FileLogWriter"/> 22 <!-- アプリケーション イベント ログに書き込むには、以下のセクションのコメントを解除して、APPLICATION_NAME をアプリケーション名に置き換えます --> 23 <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> --> 24 </sharedListeners> 25 </system.diagnostics> 26 <appSettings> 27 <add key="Folder00" value="C:\Users\XXXXX\Desktop\コピー先フォルダ" /> 28 <add key="Folder01" value="C:\Users\XXXXX\Desktop\Sample\経理課" /> 29 <add key="Folder02" value="C:\Users\XXXXX\Desktop\Sample\庶務課" /> 30 <add key="Folder03" value="C:\Users\XXXXX\Desktop\Sample\総務課" /> 31 </appSettings> 32</configuration>
設定ファイルに記述されたフォルダ指定が設定ファイルから読み込めること、ファイルが一覧で取得できること(MsgBox使用)までは正しく動作していることが確認できました。
あとはフォルダ内のファイル数分、指定されたフォルダへファイルをコピーさせるだけなのですが、方法がイマイチわかりません...
VB.NET
1FileCopy(strFile, コピー先フォルダ)
これでコピーできるものと思い込んでいたのですが、コピー先にはフォルダでなくファイルを指定しなければならない(?)という旨のエラーが出てしまい、思い通りの結果が得られないでいます。
ネットで調べると
VB.NET
1FileCopy("C:\test\1.txt", "C:\test\2.txt")
と書いてあるのですが、FileCopyでは私の想定している動作は行えないのでしょうか。
長文・乱文申し訳ございませんが、解決方法をご存知の方がいらっしゃいましたらご教授頂けると幸いです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。