Move File Problem

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Move File Problem

    Hi Zusammen,

    ich baue grad ein Projekt von VBS zu VB um. Klappt alles soweit. Der Code soll Dateien von einem zum anderen Ordner verschieben. Das klappt unter VBS wunderbar.
    Unter VB wird die Datei zwar verschoben aber im gleichem Moment wird mir eine Fehlermeldung ausgepuckt: File_not_FOUND
    Dann habe ich es mit Copy File probiert und es klappte wunderbar. Ist das verschieben unter VB anders?

    VB.NET-Quellcode

    1. For Each oFile In fso.GetFolder(ordner1).Files
    2. If Not (InStr(1, fso.GetFileName(oFile.Path), "ERR", 1) > 0) Then
    3. If Not fso.FileExists(Ziel & oFile.Name) And fso.FolderExists(Ziel) Then
    4. Console.WriteLine("Datei existiert nicht im zo")
    5. Anzahl = Anzahl + 1
    6. fso.MoveFile(oFile.Path, Ziel)
    7. Console.WriteLine(oFile.Path)
    8. Console.WriteLine("Nach move")
    9. Else
    10. Console.WriteLine("Datei existiert im zo")
    11. Anzahl3 = Anzahl3 + 1
    12. End If
    13. End If
    14. Next

    sajodino schrieb:

    Ist das verschieben unter VB anders?
    Ja, unter VB.Net ist alles anders.
    Wie sehr anders (und besser) erlebst du aber erst, wenn du die Deppen-Einstellungen korrigierst, denn diese bewirken, dass man vb.net genauso codet wie vbs, also vb.net im Grunde nicht nutzt und auch nicht zu nutzen lernt.
    Daher: Visual Studio - Empfohlene Einstellungen

    Und dann verwende für Datei-Operationen die Klassen FileInfo und DirectoryInfo. Es gibt noch einiges anderes, aber die genannten sind (die einzigen) richtig objektorientierten Objekte zur Datei-System-Behandlung, und letztlich auch am einfachsten zu benutzen.
    Etwa ein FileInfo "weiß", ob das File existiert, und kann es dann auch löschen, etc. - objektorientiert eben.
    @ErfinderDesRades Jou.

    sajodino schrieb:

    VB.NET-Quellcode

    1. If Not fso.FileExists(Ziel & oFile.Name) And fso.FolderExists(Ziel) Then
    Erkläre bitte mal verbal, was hier in dieser Zeile da sein soll und was nicht, damit sie auch so funktioniert, wie Du es meinst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!