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

Abfrage ob Dateien in einem Ordner sind

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

28.12.2011 um 16:21 Uhr, 3131 Aufrufe, 6 Kommentare

Dateien mooven aber nur wenn welche da sind

Ich habe eine Downloadplatte wo Videos via FTP-Push vom Onlinetvrecorder runtergeladen werden.
Da die Platte recht klein ist muss ich jeden Tag prüfen ob dort Files sind und diese woanders hinverschieben.

Nun habe ich dazu einige Fragen:

1.) Kann ich per Batch prüfen ob in diesem Ordner überhaupt Dateien sind und diesen "Verschieben Job" nur dann anstossen?

2.) wie kann ich sicherstellen, dass eine Datei erst dann bewegt wird wenn sie Vollständig da ist?
Wenn die Datei gerade runtergeladen wird, kann es bis zu einer Stunde dauern bis sie komplett da ist, in dieser Zeit darf sie natürlich nicht verschoben werden

Habt ihr vielleicht Tipps für mich, wie ich das lösen kann?
Mitglied: bastla
28.12.2011 um 21:24 Uhr
Hallo pbelcl! (Ich schreibe und lese gerne eine Begrüßung.)

Die Frage 1 möchte ich mit einer Gegenfrage beantworten: Was passiert denn, wenn Du nicht vorhandene Dateien verschiebst? Die folgende "for"-Schleife zeigt, dass das Problem keines ist:
for %%i in ("%Quelle%\*.*") do echo move "%%i" "%Ziel%\"
Noch einfacher:
move "%Quelle%\*.*" "%Ziel%\" 2>nul
macht auch den Job (und keinen Mux, falls es mal keine Dateien gibt) ...

Grüße (ja, mag ich auch)
bastla
Bitte warten ..
Mitglied: pbelcl
29.12.2011 um 19:10 Uhr
Hallo bastla,
Zitat von bastla:
Die Frage 1 möchte ich mit einer Gegenfrage beantworten: Was passiert denn, wenn Du nicht vorhandene Dateien verschiebst?

Nun ja ich habe mir einen universellen Copyjob gebastelt der mit Parametern gefüttert wird.
Dieser schreibt ausführliche LOG Dateien.

Das heißt ich muss ihn in diesem Fall nur starten wenn auch Dateien da sind, sonst gibt es unnötige Einträge im LOG ...

Mit :

01.
  
02.
if exist *.* 
komme ich nicht weiter!

zum zweiten darfich das File erst kopieren wenn es nicht mehr größer wird, sonst ziehe ich es dem FTP vielleicht während dem Upload unterm Hintern weg.

Deshalb muss ich genau ZWEI dinge in diesem Ordner prüfen:

1.) Sind files da

2.) Sind sie älter wie 2 Stunden
oder werden sie nicht mehr größer

Gibts da irgend eine Möglichkeit?
Bitte warten ..
Mitglied: bastla
29.12.2011 um 20:48 Uhr
Hallo pbelcl!

Dann etwa so:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Videodownload" 
03.
 
04.
for /f "tokens=1,3" %%i in ('dir "%Ordner%" 2^>nul^|findstr /c:"Datei(en)"') do set "Anz=%%i" & set "BytesAlt=%%j" 
05.
if "%Anz%"=="0" echo Keine Dateien gefunden! & goto :eof 
06.
 
07.
ping -n 15 127.0.0.1 >nul 
08.
 
09.
for /f "tokens=3" %%i in ('dir "%Ordner%"^|findstr /c:"Datei(en)"') do set "BytesNeu=%%i" 
10.
if "%BytesAlt%" neq "%BytesNeu%" echo Dateien unterschiedlich gross! & goto :eof 
11.
 
12.
echo %Anz% Datei(en) mit %BytesNeu% Bytes vorhanden
Die Wartezeit von etwa 15 Sekunden für den Größenvergleich in Zeile 7 kannst Du natürlich noch anpassen ...

Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
30.12.2011 um 07:58 Uhr
Hi bastla,

Du bist wirklich Super!!!!

Ich habe mir ein paar Codeschnipsel zum probieren erwartet, aber die Codezeilen oben sind ja schon die Lösung!!
Und nicht nur das, sie funktionieren auch, habe gerade sie eingebaut...
Speziell die Prüfung der Größe. Auf das wär ich niemals von selbst draufgekommen obwohl es jetzt nachdem ich es sehe eh ganz logisch ist...

Vielen lieben Dank, das hat mir nicht nur sehr geholfen sondern auch viel rumprobieren erspart

Guten Rutsch und alles Liebe
Paul
Bitte warten ..
Mitglied: bastla
30.12.2011 um 12:57 Uhr
Hallo pbelcl!

Freut mich, wenn's hilft, obwohl:
viel rumprobieren erspart
... ist vielleicht auch ein wenig schade - (eigentlich nur) dadurch lernst Du nämlich das "Batchen" wirklich ...

Auch Dir die besten Wünsche
bastla
Bitte warten ..
Mitglied: pbelcl
30.12.2011 um 13:07 Uhr
Zitat von bastla:
... ist vielleicht auch ein wenig schade - (eigentlich nur) dadurch lernst Du nämlich das "Batchen" wirklich ...

Stimmt grundsätzlich, aber auf deiner Ebene probier ich sowieso nix, da ist die Einstiegshürde zu hoch
Leider sind diese Dinge nicht gut genug dokumentiert um durch lesen drauf zu kommen.

Aber durch deine Hilfe inspirierst du mich oft, mir anhand deiner "muster" ähnliche Sachen anzusehen, die ich dann umsetze.
Erst heute hab ich wieder eines deiner Codeschnipsel woanders eingebaut und es dort in etwas geänderter Form ausprobiert!

Ist also noch genug Lernpotential da, keine Sorge...

Danke nochmal!

PS: Kann die ja mal ein paar der fertigen batches schicken, wenn es dich interessiert.
Ich glaube allerdings dass die bei einigen davon die Tränen kommen werden
Funktionieren tun sie trotzdem, meistens jedenfalls ....
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Batch & Shell
Skripterstellung Lehrling (22)

Frage von 133119 zum Thema Batch & Shell ...

Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

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