Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBScript Dateien nach Ordner sortieren

Frage Entwicklung VB for Applications

Mitglied: waldgnarf

waldgnarf (Level 1) - Jetzt verbinden

15.08.2008, aktualisiert 17.08.2008, 7823 Aufrufe, 5 Kommentare

Hallo, ich habe einen Script geschrieben der wenn der Dateinamen ohne Endung=Ordnername ist, die Dateien in den Ordner verschiebt.
Aber er verschiebt die zutreffenden Dateien nur wenn die den Name des ersten Ordners in der Liste haben.

01.
Set FSO=CreateObject("Scripting.FileSystemObject") 
02.
Set DATEIEN=FSO.GetFolder("C:\") 
03.
 
04.
For Each ORDNER In FSO.GetFolder("C:\New").Subfolders 
05.
For Each DATEI in DATEIEN.Files 
06.
FSO.MoveFile "C:\" & ORDNER.Name & ".txt", ORDNER.Path & "\" 
07.
Next 
08.
Next
Gruß waldgnarf
Mitglied: bastla
15.08.2008 um 14:36 Uhr
Hallo waldgnarf!

Zwei Schleifen sind hier zuviel des Guten (Du würdest damit ja jede Datei mit jedem Ordner kombinieren), daher:
01.
Set FSO = CreateObject("Scripting.FileSystemObject") 
02.
For Each ORDNER In fso.GetFolder("C:\New").Subfolders 
03.
    DATEI = "C:\" & ORDNER.Name & ".txt" 
04.
    If FSO.FileExists(DATEI) Then FSO.MoveFile DATEI, ORDNER.Path & "\" 
05.
Next
Allerdings solltest Du noch berücksichtigen, dass "MoveFile" bestehende Dateien (oder auch Ordner mit dem gleichen Namen) nicht überschreiben kann, und daher vorweg eine Überprüfung mit "FileExists" und "FolderExists" für das Ziel sinnvoll wäre.

Grüße
bastla
Bitte warten ..
Mitglied: waldgnarf
15.08.2008 um 18:19 Uhr
Danke für deine Antwort.

Ich habe es so versucht aber er packt immernoch nur die im Alphabet erste Datei in ihren Ordner.

zum Beispiel so:

abc.txt -> verschieben in Ordner abc
abc.exe -> verschieben in Ordner abc

xyz.txt -> verschieben in Ordner xyz
xyz.exe -> verschieben in Ordner xyz
Bitte warten ..
Mitglied: bastla
15.08.2008 um 18:27 Uhr
Hallo waldgnarf!

Dass keine .exe-Datei verschoben wird, ist klar, da (aufgrund Deines Beispiels) der Dateityp in Zeile 3 mit ".txt" vorgegeben ist - lässt sich aber leicht auf ".*" ändern; damit sollten dann aber alle Dateien erfasst werden, für die es entsprechende Ordner gibt.

Allerdings musst Du dann auf die Überprüfung, ob es eine passende Quelldatei gibt, verzichten und das Fehlen einer solchen durch ein "On Error" abfangen, also
01.
On Error Resume Next 
02.
Set FSO = CreateObject("Scripting.FileSystemObject") 
03.
For Each ORDNER In fso.GetFolder("C:\New").Subfolders 
04.
    DATEI = "C:\" & ORDNER.Name & ".*" 
05.
    FSO.MoveFile DATEI, ORDNER.Path & "\" 
06.
Next
Die saubere Methode, und dann braucht's doch wieder die zweite Schleife, sähe so aus:
01.
Set FSO = CreateObject("Scripting.FileSystemObject") 
02.
For Each ORDNER In fso.GetFolder("C:\New").Subfolders 
03.
    OrdnerName = LCase(Ordner.Name) 
04.
    For Each DATEI In fso.GetFolder("C:\").Files 
05.
        If LCase(fso.GetBaseName(Datei)) = OrdnerName Then 
06.
            If FSO.FileExists(ORDNER.Path & "\" & DATEI.Name) Or _ 
07.
            FSO.FolderExists(ORDNER.Path & "\" & DATEI.Name) Then 
08.
                WScript.Echo DATEI & " kann nicht verschoben werden!" 
09.
            Else 
10.
                FSO.MoveFile DATEI, ORDNER.Path & "\" 
11.
            End If 
12.
        End If 
13.
    Next 
14.
Next
Zum Testen empfiehlt es sich, mit
01.
cscript //nologo "C:\Scriptpfad\Scriptname.vbs"
zu starten - zumindest, wenn es bereits mehrere gleichnamige Dateien in den Zielordnern geben könnte (da bei Verwendung von "wscript" anstelle von "cscript" jede "WScript.Echo"-Anweisung als MsgBox ausgegeben wird) ...

Grüße
bastla

[Edit] Alternative Variante nachgetragen [/Edit]
Bitte warten ..
Mitglied: waldgnarf
16.08.2008 um 01:44 Uhr
Super, es funktioniert Danke sehr.

Gruß waldgnarf
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien in alphabetische Ordner sortieren
gelöst Frage von symei3Batch & Shell10 Kommentare

Hallo Forumsgemeinde, leider habe ich sehr wenig Ahnung von Batchdateien etc. Deswegen wird meine Frage vermutlich nur ein leises ...

Batch & Shell
Eine Batch zum Sortieren verschiedener Dateien in Ordner
gelöst Frage von JaglagBatch & Shell16 Kommentare

Hallo, da ich leider mit Batch und shell nicht so erfahren bin hoffe das ein findiger User hier weiterhelfen ...

Batch & Shell
Via CMD Dateien in Ordner sortieren
gelöst Frage von tkt2208Batch & Shell10 Kommentare

Hallo zusammen, ich habe in einem Ordner sehr viele Dateien mit gleichem Namen die sich nur am Ende durch ...

Batch & Shell
Batch: Dateien automatisch in verschiedene Ordner sortieren
gelöst Frage von XanderoBatch & Shell11 Kommentare

Hallo Community, ich möchte folgende Aufgabe per Batch lösen: In einem Ordner werden täglich mehrere csv-Dateien angelegt, die nach ...

Neue Wissensbeiträge
Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 56 MinutenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 23 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 4 TagenInternet19 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement12 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...