Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Vbs, Ziel-Ordner leeren, jüngste Datei aus Quell-Ordner kopieren, Anzeige Fortschrittsbalken

Frage Entwicklung VB for Applications

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

23.12.2012 um 10:05 Uhr, 3986 Aufrufe, 1 Kommentar

vbs, Ziel-Ordner leeren, jüngste Datei aus Quell-Ordner kopieren, Anzeige Fortschrittsbalken

Hallo,

ich möchte einen bestehenden Zielordner leeren, dann aus einem QuellOrdner eine Datei ersteDatei.bla und die jüngste Datei jüngsteDatei.xyz in den Zielordner kopieren. Beim Kopieren soll ein Fortschrittsbalken (muss nicht der Gesamtfortschritt sein) angezeigt werden.

Das mit dem Löschen und Kopieren hab ich hinbekommen, ist ein VBS-File:

01.
Dim fNewest 
02.
Dim ofilesys 
03.
 
04.
set ofilesys=CreateObject("Scripting.FileSystemObject") 
05.
set oFolder=createobject("scripting.filesystemobject").getfolder("D:\Sicherung\Backup1") 
06.
For Each aFile In oFolder.Files 
07.
    If fNewest = "" Then 
08.
        Set fNewest = aFile 
09.
    Else 
10.
        If fNewest.DateCreated < aFile.DateCreated Then 
11.
            Set fNewest = aFile 
12.
        End If 
13.
    End If 
14.
Next 
15.
 
16.
ofilesys.deleteFile ("D:\Sicherung\Backup_fuer_Band\*.*") 
17.
 
18.
'MsgBox "Neueste Datei: " + fNewest 
19.
ofilesys.CopyFile "D:\Sicherung\Backup1\Backup1.vbm", "D:\Sicherung\Backup_fuer_Band\" 
20.
ofilesys.CopyFile fNewest, "D:\Sicherung\Backup_fuer_Band\" 
21.
'MsgBox "Kopieren abgeschlossen" 
22.
 
23.
set ofilesys = nothing 
24.
set oFolder = nothing 
25.
set fNewest = nothing
Ich hab keine Ahnung, ob das ein sinnvoler/eleganter Code ist. Ich bin eher ein Copy/Paste/Anpasen-Programmierer, ohne zu wissen, was im einzelnen passiert. Aber wie gesagt, soweit funktioniert der Code. Nun hätte ich gerne einen Fortschrittsbalken angezeigt. Ist das möglich/machbar? Wenn ja, wie?

Vielen Dank für Eure Antworten schon jetzt.
Vorweihnachtliche Grüße,
Andreas
Mitglied: bastla
23.12.2012, aktualisiert um 10:52 Uhr
Hallo ahstax!

Frage 1: Warum VBS (und nicht Batch - dort würde etwas Ungetestetes in der Art
01.
@echo off & setlocal 
02.
set "Quelle=D:\Sicherung\Backup1" 
03.
set "Ziel="D:\Sicherung\Backup_fuer_Band" 
04.
 
05.
set "Latest=" 
06.
for /f "delims=" %%i in ('dir /b /a-d /o-d "%Quelle%"') do set "Latest=%%i" 
07.
if not defined Latest (echo Keine Datei gefunden! & pause & goto :eof) 
08.
del /q /f "%Ziel%" 
09.
copy "%Quelle%\Backup1.vbm" "%Ziel%\" 
10.
copy "%Quelle%\%Latest%" "%Ziel%\"
genügen)?

Frage 2: Abgesehen davon, dass VBS ja unmittelbar keine grafische Oberfläche anbietet und daher am ehesten noch eine HTA-Lösung in Frage käme - was sollte der Fortschrittsbalken darstellen, worauf soll er sich beziehen, und wie lange kann denn die ganze Aktion dauern, dass es überhaupt Sinn hätte, einen solchen Balken zu verwenden?

[Edit] Sollte es nur um eine Fortschrittsanzeige für den Kopiervorgang gehen, könntest Du in VBS etwas in der Art versuchen:
01.
Set App = CreateObject("Shell.Application") 
02.
For Each File In App.Namespace("D:\Sicherung\Backup1").Items 
03.
    If LCase(File.Name) = LCase(Latest) Then App.Namespace("D:\Sicherung\Backup_fuer_Band").CopyHere File 
04.
Next
wobei in der Variablen "Latest" der Dateiname der jüngsten Datei stehen müsste.
[/Edit]

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
NTFS und die Defragmentierung (26)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Zwei Subnetze mit je eigenem Router und Internetzugang verbinden (18)

Frage von hannsgmaulwurf zum Thema LAN, WAN, Wireless ...

Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...