2013-12-01 3 views
1

Мне нужно перенести все файлы .pbo из одной папки в другую папку. Ниже мой код:Перемещение нескольких файлов того же типа

For Each foundPBO As String In My.Computer.FileSystem.GetFiles(_ 
     downloadDirectory & "\Mod Works\Process\@" & CurrentMod, _ 
     FileIO.SearchOption.SearchAllSubDirectories, "*.pbo") 

     My.Computer.FileSystem.MoveFile(foundPBO, downloadDirectory & "\Mod Works\Process\@STHUD\Addons") 
Next 

Это ничего не делать, когда я запускаю его, и строка каталога является правильной (downloadDirectory правильно установлен & CurrentMod установлен правильно)

Есть предложения?

UPDATE:

Спасибо за помощь, хотя, я получаю сообщение об ошибке с конверсией? Вот мой следующий код, он не получает сообщения «3» (отладки):

Dim testDir As String = downloadDirectory & "\Mod Works\Process\@STHUD\" 
For Each foundPBO As String In My.Computer.FileSystem.GetFiles(_ 
     MsgBox("2"), _ 
     testDir, _ 
     MsgBox("3"), _ 
     FileIO.SearchOption.SearchAllSubDirectories, "*.pbo") 
     MsgBox("4") 

     My.Computer.FileSystem.MoveFile(foundPBO, downloadDirectory & "\Mod Works\Process\@STHUD\Addons\" & System.IO.Path.GetFileName(foundPBO)) 
     MsgBox("5") 
Next 

ответ

1

Путь назначения является неправильным: Вы планируете двигаться "dir_source\file_source.pbo" в "dir_dest\"; но вы должны сделать: "dir_dest\file_source.pbo". Просто замените

My.Computer.FileSystem.MoveFile(foundPBO, downloadDirectory & "\Mod Works\Process\@STHUD\Addons") 

с:

My.Computer.FileSystem.MoveFile(foundPBO, downloadDirectory & "\Mod Works\Process\@STHUD\Addons\" & System.IO.Path.GetFileName(foundPBO)) 

Имейте в виду, что есть System.IO эквивалентностей для всех, что вы делаете (получение файлов и перемещение их). Вы можете предпочесть полагаться на System.IO, а не на My.Computer.FileSystem, поскольку это пространство имен содержит методы для выполнения гораздо большего числа операций, связанных с I/O (т. Е. С файлами, каталогами и путями).

+0

Спасибо, я протестировал его, и у меня есть ошибка. Прочитайте обновление выше, пожалуйста :) – JamesLKingsley

+0

@ user3054080 вы получаете сообщение об ошибке, потому что ваш новый код не имеет никакого смысла. Пожалуйста, поймите предложенную коррекцию и помните, что вы можете задать только один вопрос за сообщение. Выполните предложенную модификацию в своем исходном коде и убедитесь, что все работает нормально. – varocarbas

+0

Теперь он работает, ура! – JamesLKingsley

Смежные вопросы