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, 3893 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 ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...