はじめまして。
VB初心者なんですがわからない所があるので教えて下さい。
あるフォルダーの中のファイルの移動させた後にbatファイルを動かすプログラムを作ってます。
Dim Original As String = "C:\AAA"
Dim BatFileName As String = "C:\BBB\hello.bat"
'ファイルが存在しているか確認する。
If Directory.Exists(OriginalFolder & "\") Then
Dim files As String() = Directory.GetFiles(OriginalFolder, "*")
'ファイルが存在したら別フォルダーへ移動させる。
MovingFiles(files)
End If
'batファイルを実行する
System.Diagnostics.Process.Start(BatFileName)
End Sub
Private Sub MovingFiles(ByVal files As String())
Dim OriginalFolder As String = "C:\AAA"
Dim MovingFolder As String = "C:\CCC"
Dim GetFiles As String
Dim MoveFiles As String
For Each GetFiles In files
'移動するファイルの名前だけを取得
MoveFiles = GetFiles.Remove(0, GetFiles.LastIndexOf("\") + 1)
File.Move(GetFiles, MovingFolder & "\" & MoveFile)
Next GetFiles
End Sub
このプログラムをMovingFiles()の部分をパラメータで渡してMovingFiles(files, OriginalFolder, BatFileName)で動かしたいのです。
いろんなサイトを見たのですが全然わからなく解決できませんでした。
すみませんがよろしくお願いします。
VB2005です。
引数を増やしたいなら増やせばいいのでは?
[VB.NET]
Private Sub Test()
Dim files As String()
Dim OriginalFolder As String = "C:\AAA"
Dim BatFileName As String = "C:\BBB\hello.bat"
Call MovingFiles(files, OriginalFolder, BatFileName)
End Sub
Private Sub MovingFiles(ByVal files As String(), ByVal HogeHoge As String, ByVal HumuHumu As String)
MessageBox.Show(HogeHoge & HumuHumu)
End Sub
特攻隊長まるるうさん回答ありがとうございます。
アドバイス通りやってみたのですがうまく実行されません。
何が原因かわからないので教えて頂けないでしょうか?
よろしくお願いします。
Dim Original As String = "C:\AAA"
Dim BatFileName As String = "C:\BBB\hello.bat"
'ファイルが存在しているか確認する。
If Directory.Exists(OriginalFolder & "\") Then
Dim files As String() = Directory.GetFiles(OriginalFolder, "*")
'ファイルが存在したら別フォルダーへ移動させる。
Call MovingFiles(files, OriginalFolder, BatFileName)
End If
End Sub
Private Sub MovingFiles(ByVal files As String(),ByVal OriginalFolder As String, ByVal BatFileName As String)
Dim GetFiles As String
Dim MoveFiles As String
Dim MovingFolder as string = "C:\CCC"
OriginalFolder = "C:\AAA"
BatFileName = "C:\BBB\hello.bat"
For Each GetFiles In files
'移動するファイルの名前だけを取得
MoveFiles = GetFiles.Remove(0, GetFiles.LastIndexOf("\") + 1)
File.Move(GetFiles, MovingFolder & "\" & MoveFile)
Next GetFiles
'batファイルを実行する
System.Diagnostics.Process.Start(BatFileName)
End Sub
1行1行ステップ実行し、何がどううまく実行されてないのか
確認してください。
特攻隊長まるるうさん回答ありがとうございます。
1行ずつステップ実行して確認したら原因わかりました。
ありがとうございました。