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

Mehrere Dateien in ein Verzeichnis kopieren und Dateiendung ändern

Frage Entwicklung Batch & Shell

Mitglied: Oli82

Oli82 (Level 1) - Jetzt verbinden

02.01.2009, aktualisiert 04.01.2009, 8973 Aufrufe, 5 Kommentare

hallo.

Ich stehe vor folgendem Problem.

Eine Anwendug auf unserem Server erstellt täglich *.dat Dateien, die dann automatisiert umbenannt und in verschiedene externe Datenbanken geschrieben werden.
Da unser ISP aber derzeit ein wenig Probleme mit unserer Internetverbindung hat, kann es schon mal passieren, dass die Dateien nicht in die Datenbank geschrieben werden.

Wenn ich nun die Daten manuell in die Datenbank schreiben möchte, muss ich händisch alle Dateien über den Explorer zusammensuchen, umbenennen und erneut einfügen.

Die Dateien haben vor dem kopieren folgenden Dateinamen: Programmname-0000HEXID-JJJJMMTT.dat (Programmname-00003af0-20090102.dat).

Nach dem kopieren haben sie dann folgendes Format: Programmname-0000HEXID-JJJJMMTT.ZEITSTEMPELdesKOPIERENS.dat.backup (Programmname-00003af0-20090102.2009010214532614.dat.backup)

Da mir der händische Aufwand zu groß ist, würde ich mir gerne eine Batchdatei schreiben, die in dem Verzeichniss alle Dateien eines beliebingen, zusammenhängenden Datums und eines HEXID-Bereiches sucht und danach in ein anderes Verzeichniss kopiert.

Bsp:
Alles Dateien des 24.12.2008 im Bereich von Hex 2800 bis Hex 28af.
Am liebsten wäre mir ja eine Abfrage, welches Datum ich auswählen wollte. Den ID Bereich würde ich dann einfach über eine Textdatei definieren.
Umbenenen der Dateien stellt kein Problem da, nur halt das Filtern und kopieren.

Ist das mit einer Batchdatei möglich oder benötige ich doch eine höhere Programmiersprache?
Danke für die Hilfe.
Mitglied: NetWolf
03.01.2009 um 11:30 Uhr
Hallo,

ich würde einfach ein Synchronisier-Programm nehmen.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
Bitte warten ..
Mitglied: bastla
03.01.2009 um 23:54 Uhr
Hallo Oli82!

Schematisch könnte ein Batch etwa so aussehen:
01.
@echo off & setlocal 
02.
set /p "Datum=Bitte Datum in der Form JJJJMMTT eingeben: " 
03.
set "Von=2800" 
04.
set "Bis=28af" 
05.
set "Quelle=D:\dat-Ordner" 
06.
set "Sammel=D:\Sammelordner" 
07.
 
08.
pushd "%Quelle%" 
09.
for %%i in (*.dat.backup) do call :ProcessFile "%%i" 
10.
popd 
11.
goto :eof 
12.
 
13.
:ProcessFile 
14.
for /f "tokens=2-3 delims=-." %%a in (%1) do set "Hex=%%a" & set "Dat=%%b" 
15.
set Hex=%Hex:~-4% 
16.
 
17.
if "%Dat%" neq "%Datum%" goto :eof 
18.
if 0x%Hex% lss 0x%Von% goto :eof 
19.
if 0x%Hex% gtr 0x%Bis% goto :eof 
20.
 
21.
set "Ziel=%Sammel%\%Dat%-%Von%-%Bis%" 
22.
if not exist "%Ziel%" md "%Ziel%" 
23.
echo move %1 "%Ziel%\" 
24.
goto :eof
Das "echo" in Zeile 23 sorgt dafür, dass das Verschieben der Dateien (zum Testen) zunächst nur angezeigt wird - der Zielordner wird allerdings tatsächlich erstellt.

Wenn Du übrigens die Zeilen 2 und 17 weglässt (oder durch ein vorangestelltes REM auskommentierst) werden alle Dateien im angegebenen ID-Bereich in entsprechende (mit dem Datum gekennzeichnete) Ordner aufgeteilt.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
04.01.2009 um 20:38 Uhr
<OT>
Übennenen der Dateien stellt kein Problem da, nur halt das Filtern und kopieren.
Hmm, das Benennen dieser Tätigkeit scheint aber auch leichte Schwierigkeiten zu machen, oder?

Ich frage jetzt nicht schon wieder, WTF denn bei diesem vollkommen tz- und ph-freien Wort so schwierig ist, sondern registriere es mal stillschweigend als 388ste Schreibvariante in diesem Forum.

Grüße und voller Erwartungen in das Jahr 2009
Biber
</OT>
Bitte warten ..
Mitglied: Oli82
04.01.2009 um 21:14 Uhr
@NetWolf

Welches Programm würdest du vorschlagen, dass diese Filter unterstützt?

@bastla
Dein Script werde ich morgen gleich mal testen.

Dank euch für die Hilfe!
Bitte warten ..
Mitglied: NetWolf
05.01.2009 um 13:52 Uhr
Hi Oli82,

für eine Synchronisation kannst du eigentlich jedes beliebige Programm verwenden.

Die Synchronisation läuft idR. über Datum/Zeit. Einige Programme bieten auch noch eine Prüf/Vergleichssumme an.

Das Handling und Feeling ist unterschiedlich. Daher ist es schwer da was zu empfehlen.

Ich persönlich arbeite mit der Explorer-Alternative Directory Opus. Da sind solche Dinge schon mit drin.


Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Linux Tools
CURL mehrere Dateien vom ftp-Server herunterladen (10)

Frage von highpriest zum Thema Linux Tools ...

Windows 7
gelöst Mehrere Dateien in Windows umbenennen mit Batchjob (4)

Frage von Jeduja zum Thema Windows 7 ...

Microsoft Office
Excel VBA "SVERWEIS" über mehrere Dateien in Ordner (2)

Frage von Acht85 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

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

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...