Dateien umschreiben und ablegen

  • VBScript

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Dateien umschreiben und ablegen

    Hallo zusammen,

    erstmal möchte ich mich vorstellen. Mein Name ist Jakob und ich lerne ab dem neuen Ausbildungsjahr die Programmierung. Zur Zeit arbeite ich als Ferienjob und habe meine erste Aufgabe bekommen... Nach zahlreichen Google-Suchen und Büchern habe ich noch keine Lösung für mein Problem gefunden. Kann mir einer helfen?

    IST-Situtation:
    Im Ordner C:\pdf
    Wird ein PDF und eine Textdatei abgelegt.

    Anforderung:
    Die PDF Datei soll den Namen der TXT-Datei übernehmen.
    Die TXT-Datei soll gelöscht werden.
    Die PDF Datei soll je nach Dateiname in einen Ordner verschoben werden.
    Jedes PDF soll zusätzlich in einem allgemeinen Backupordner abgespeichert werden.

    Ordnerübersicht:

    C:\pdf = Grundordner wo alle Druck-PDFs + TXT-Dateien abgelegt werden. Die Befüllung des Ordners mit Dateien erfolgt durch ein anderes Programm. Maximal alle 5 Sekunden kommt ein neues PDF + eine neue TXT-Datei

    C:\1 C:\2 C:\3 = Ordner in die das PDF verschoben werden soll. Die Zuordnung erfolgt per Dateiname nach dem ersten _ . Bsp: 565744964_2_18072015_45487415.pdf => 2 = C:\2

    C:\backup = Backupordner

    Danke!
    Jakob

    VBS_Neuling schrieb:

    Ist mein erstes Projekt
    Dann wirst du mit der Standard-Entwicklungs- und Testumgebung von Windows nicht sehr glücklich werden.
    Da gibt es zwei Möglichkeiten:
    - Du verwendest VBSedit. Allerdings ist der in der Freeware-Version durch künstlich eingebaute Pausen recht nervig. Ob du ein paar Euronen investieren willst, weiss ich nicht. Jedenfalls sind sie gut angelegt, wenn du öfter mal VBS-Scripte entwickelst.
    - Du entwickelst in Excel-VBA. VBA ist quasi ein Superset von VBS. Mit ein paar ganz wenigen Ausnahmen, die gerne zur Stolperfalle werden. Aber das merkst du ja dann... ;)

    VBS_Neuling schrieb:

    Codeansatz

    Visual Basic-Quellcode

    1. Set FS = CreateObject("Scripting.FileSystemObject")
    2. Set Folder = FS.GetFolder("c:\pdf")
    3. For Each File in Folder.Files
    4. If Right(File.Name,4) = ".pdf" Then
    5. FileParts = Split(File.Name,"_")
    6. If UBound(FileParts) = 3 Then
    7. DestinationFolder = FileParts(1)
    8. File.Copy ("c:\" & DestinationFolder & "\" & File.Name)
    9. Else
    10. 'falsches Dateinamenformat
    11. End If
    12. End If
    13. Next

    So ungefähr jedenfalls.
    Ich habe mir nicht die Mühe gemacht, deine Aufgabenstellung vollständig zu verstehen, zumal sie unklar formuliert ist.
    Aber als Ansatz kannst du mal damit anfangen.

    Edit:
    Bist du eigentlich an VBS gebunden oder darfst du auch "richtig" programmieren?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()