Ich habe ungefähr 100 PDF-Dateien in einem Ordner mit einer Namensstruktur wie:
- Kreditauskunft – Google Inc.
- Kreditauskunft - BP Plc
- Kreditauskunft - Apple Inc.
- Kreditauskunft - Saipem spa
Und so weiter und so fort.
Gibt es einen Befehl, mit dem ich neue Ordner mit Namen wie diesen erstelle:
- Google Inc
- BP Plc
und verschieben Sie die entsprechenden PDFs
- Kreditauskunft – Google Inc.
- Kreditauskunft - BP Plc
in sie.
Danke
(PS: Ich bin zum ersten Mal hier und habe Probleme mit der Textformatierung im Forum, also entschuldigen Sie bitte etwaige seltsame Formatierungen.)
Antwort1
VerschiebeInOrdner.VBS
FolderSpec="c:\tmp"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.GetFolder(FolderSpec)
For Each OneFile In SourceFolder.Files
If LCase(Right(OneFile.Name, 4)) = ".pdf" and Instr(OneFile.Name, "-") > 0 Then
FSO.CreateFolder FolderSpec & "\" & Trim(Split(Split(OneFile.Name, "-")(1), ".")(0))
OneFile.Move FolderSpec & "\" & Trim(Split(Split(OneFile.Name, "-")(1), ".")(0)) & "\" & OneFile.Name
end if
Next
Bearbeiten "c:\tmp"
, legen Sie Ihren Quellordner fest.
Es werden nur Dateien mit der Erweiterung „.PDF“ und einem Bindestrich im Namen verschoben. Wenn mehr als ein Bindestrich vorhanden ist, wird nur der Teil zwischen dem ersten und zweiten Bindestrich verwendet.
Das Skript schlägt fehl, wenn ein Fehler auftritt (Ordner vorhanden, Datei vorhanden usw.). Wenn Sie Fehler ignorieren möchten, fügen Sie On Error Resume Next
vor der ersten Zeile eine Zeile hinzu.