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

Batch Datei soll mit Dateinamen arbeiten

Frage Entwicklung Batch & Shell

Mitglied: Dipps

Dipps (Level 2) - Jetzt verbinden

25.11.2009, aktualisiert 18.10.2012, 4930 Aufrufe, 15 Kommentare

Batch Datei soll mit Dateinamen arbeiten

Hallo Leute,
Meine Überwachungskamera macht aller 1 Minute 1 Bild auf einem NAS speichern "\\NAS\Freigabe\Bilder"
Nun möchte ich auf einem Server eine Batchdatei laufen lassen die Mitternacht oder so alle Dateien die mit 20091125_Uhrzeit.jpg (YYYYMMDD) (Vortag!!!)beginnen in \\NAS\Freigabe\Archiv\YYYYMMDD kopiert
Leider weiss ich nicht wie man das am besten macht.
Bitte helft mir.


Habe jetzt schon Angefangen mit
01.
@echo off 
02.
set jahr=%date:~6% 
03.
set mon=%date:~3,2% 
04.
set tag=%date:~0,2% 
05.
 
06.
find l:\Bilder %jahr%%mon%%tag%* >> erg.txt 
07.
 
Da kommt als Ergebinss immer Datei nicht gefunden was.

Da ich im nächsten Schritt die Datei Auslesen will und die Dateien dann nach l:\Archiv\%jahr%%mon%%tag% Verschieben will
Mitglied: NoBodyTadl
25.11.2009 um 10:01 Uhr
Nur ne Frage vorweg : warum sagst du der Cam nicht das sie die Dateien direkt in nem Datumsordner speichern soll ?

\\NAS\Freigabe\Archiv\%date:~6,4%%date:~3,2%%date:~0,2%\ << als ziel in der cam software


ansonsten 2 ansätze

Mit dem Windows-Tool "robocopy" und den Parametern /mov sowie /minage wäre der erste weg

mittels vbs script wäre eine 2 variante

bei bedarf melde dich per pn

Gruß NoBody
Bitte warten ..
Mitglied: Dipps
25.11.2009 um 10:27 Uhr
Danke für die Antwort werde ich gleich mal versuchen. Aber der Hersteller meinte es würde nicht gehen das es die Cam selber macht.
Bitte warten ..
Mitglied: Dipps
25.11.2009 um 10:31 Uhr
also wenn ich es in der Camera direkt mache dann macht er nach dem speichern immer
\\server\share\Bilder\Úte:~6,4%Úte:~3,2%Úte:~0,2%\
daraus
Bitte warten ..
Mitglied: 60730
25.11.2009 um 11:19 Uhr
Servus,
01.
rem @echo off hat in einer Batch - die "probleme" macht - nichts zu suchen..... 
02.
set jahr=%date:~6% 
03.
set mon=%date:~3,2% 
04.
set tag=%date:~0,2% 
05.
 
06.
if not exist \\NAS\Freigabe\Archiv\%jahr%%mon%%tag% md  \\NAS\Freigabe\Archiv\%jahr%%mon%%tag% 
07.
move l:\Bilder\%jahr%%mon%%tag%*  \\NAS\Freigabe\Archiv\%jahr%%mon%%tag%\
@NoBodyTadl
Ps: bei bedarf melde dich per pn

Seit wann lösen wir hier "Probleme" per PN - Persönliche Nachrichten - machen wir hier nix für die allgemeinheit?
Wichtiger Hinweis

Ps: Die Cam wird schwerlich mit den DOsbefehlen arbeiten, die uns Bill und seine Praktikanten gegeben haben.
Gruß
Bitte warten ..
Mitglied: Dipps
25.11.2009 um 11:37 Uhr
kannst du mir bei robocopy noch helfen????
Ich kenn mich damit nicht aus und sehe da auch gerade nicht durch.
Bitte warten ..
Mitglied: Dipps
25.11.2009 um 11:53 Uhr
Danke dir.
Das funktioiert auch soweit.
Geht es auch das ich vorher die Dateien auslese mir die ersten 6 zeichen anschaue sprich YYYYMMDD und dann diese Datei in den Ensprechenden Ordner kopiere?
Bitte warten ..
Mitglied: LotPings
25.11.2009 um 11:58 Uhr
Hallo Timo,

ich stimme dir fast Vollinhaltlich zu

Dipps schrieb was von Vortag, wenn er also alle bis auf die heutigen in entsprechende Tagesordner sortieren will, könnte da so aussehen:
01.
@echo off 
02.
set jahr=%date:~6% 
03.
set mon=%date:~3,2% 
04.
set tag=%date:~0,2% 
05.
set "Test=Echo" 
06.
::set "Test=" 
07.
Pushd "L:\Bilder" 
08.
For /F "Tokens=1,* Delims=_" %%A in ( 
09.
  'Dir /B 20*.jpg ^|findstr /V "^^%jahr%%mon%%tag%"' 
10.
    ) Do Call :Einzeln %%A "%%A_%%B" 
11.
POPD 
12.
Goto :eof 
13.
:Einzeln 
14.
If Not Exist "\Archiv\%1\" %Test% MD "\Archiv\%1\" 
15.
%Test% Move %2 "\Archiv\%1\" 
16.
Goto :Eof 
17.
:Tag 
18.
If %1 EQU %Last% goto :Eof 
19.
Set Last=%1 
20.
If Not Exist "\Archiv\%1\" %Test% MD "\Archiv\%1\" 
21.
%Test% Move "%1_*.jpg" "\Archiv\%1\"
Es wird nichts ausgeführt solange Zeile 6 mit den beiden Doppelpunkten auskommentiert ist. Es gibt zwei Unterroutinen :Einzeln verschiebt Datei für für Datei, :Tag macht nur einen Move und springt sofort zurück wenn der gleiche Tag nochmal kommt. Um :Tag zu nutzen muss Zeile 10 entsprechend in
01.
    ) Do Call :Einzeln %%A "%%A_%%B"
geändert werden.

Ungetestet
Bitte warten ..
Mitglied: 60730
25.11.2009 um 12:00 Uhr
Servus,

klar geht das


01.
rem @echo off hat in einer Batch - die "probleme" macht - nichts zu suchen..... 
02.
set jahr=%date:~6% 
03.
set mon=%date:~3,2% 
04.
set tag=%date:~0,2% 
05.
 
06.
if not exist \\NAS\Freigabe\Archiv\%jahr%%mon%%tag% md  \\NAS\Freigabe\Archiv\%jahr%%mon%%tag% 
07.
dir  l:\Bilder\%jahr%%mon%%tag%*.jpg >>bilder.txt 
08.
copy  l:\Bilder\%jahr%%mon%%tag%*  \\NAS\Freigabe\Archiv\%jahr%%mon%%tag%\
Wobei ich wahrscheinlich nicht verstanden habe - was du genau meinst.
Denn beim copy bleiben die alten Dateien ja in der Cam...
Bitte warten ..
Mitglied: 60730
25.11.2009 um 12:07 Uhr
@ LotPings:

Vortag hat er aber gut versteckt - oder genauer - meine Augen müssen zum nachschleifen

ich würde das evtl. kürzer mit einer Temp. datei lösen..

01.
call morgen.cmd 
02.
set jahr=%date:~6% 
03.
set mon=%date:~3,2% 
04.
set tag=%date:~0,2% 
05.
echo if not exist \\NAS\Freigabe\Archiv\%jahr%%mon%%tag% md  \\NAS\Freigabe\Archiv\%jahr%%mon%%tag%>morgen.cmd 
06.
echo copy l:\Bilder\%jahr%%mon%%tag%*  \\NAS\Freigabe\Archiv\%jahr%%mon%%tag%\ >>morgen.cmd
28/29.2 30/31.xx usw. ist mir zu viel schreiberei.(If else / wenn und aber)
ungetestet

Gruß
Bitte warten ..
Mitglied: Dipps
25.11.2009 um 13:03 Uhr
Das Script Springt bei mir nur kurz auf und schließt gleich wieder ohne etwas an den Daten zu ändern. Das von LotPings
Bitte warten ..
Mitglied: 60730
25.11.2009 um 13:10 Uhr
Zitat von Dipps:
Das Script Springt bei mir nur kurz auf und schließt gleich wieder ohne etwas an den Daten zu ändern.
  • welches?

Mein letztes Script ist ja - für Morgen gedacht - es muß einmalig laufen, um eine "morgen.cmd" zu erstellen - die dann erst beim nächsten Mal (morgen) abgearbeitet wird und danach die nächste "morgen.cmd" erstellt.
Bitte warten ..
Mitglied: Dipps
25.11.2009 um 13:15 Uhr
Danke Timo deine Lösung funktioiert sehr gut wenn ich das Hauptscript Täglich um 1 Uhr Starte.
Bitte warten ..
Mitglied: Dipps
25.11.2009 um 13:20 Uhr
Deins Funktioiert ich habe es jetzt einmal ausgeführt damit es die Daten von heute hat und Morgen werden die Bilder von heute ins Archiv verschoben habe nur noch anstatt copy move eingebaut.
Bitte warten ..
Mitglied: Dipps
25.11.2009, aktualisiert 18.10.2012
Ich würde jetzt noch einen neuen Beitrag machen um aus den Bildern die jetzt im Archiv sind ein Video Automatisch zuerstellen
Der 2. Teil wäre dann unter http://www.administrator.de/forum/bilder-zu-video-generieren-automatisc ... zuereichen
Bitte warten ..
Mitglied: NoBodyTadl
25.11.2009 um 16:59 Uhr
das mit der pn hat einzig und allein den hintergrund das ich die notifications auf pns beschränkt habe

mir sind die board regeln durchaus bekannt

Mit freundlichen Grüßen
NoBody
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...