Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Name von Backup-Dateien mit Datum und Uhrzeit versehen

Frage Entwicklung Batch & Shell

Mitglied: HoyGroDo

HoyGroDo (Level 1) - Jetzt verbinden

11.04.2007, aktualisiert 29.04.2007, 5717 Aufrufe, 8 Kommentare

a)
In einem Verzeichnis existieren Datei-Paare mit folgenden Namen (z.B.):
0039301.LZH
00393.ACS
Diese sollen aus diesem Ordner in einen anderen kopiert werden (Skript existier schon).
Es soll aber auch in einem Backup-Ordner eine Sicherheitskopie angelegt werden - z.B.:
0039301_Datum_Uhrzeit.LZH
00393_Datum_Uhrzeit.ACS

b)
Ebenfalls bestehen Dateien mit dem Namen (z.B.) 0039301A1.OUT
Auch diese müssten in einen Backup-Ordner kopiert werden.
Zieldatei dann ebenfalls mit folgendem Namen:
0039301A1_Datum_Uhrzeit.OUT
Mitglied: bastla
11.04.2007 um 16:02 Uhr
Hallo HoyGroDo!

Versuch es mal so:
01.
@echo off & setlocal 
02.
set "SourceDir=D:\Verzeichnis" 
03.
set "BackupDir=D:\Backup" 
04.
set "BackupOutDir=D:\BackupOut" 
05.
set "Ext=lzh acs" 
06.
set "ExtOut=out" 
07.
set Datum=%date:~6,4%-%date:~3,2%-%date:~0,2% 
08.
set Zeit=%time:~0,8% 
09.
set Zeit=%Zeit::=.% 
10.
if not exist "%BackupDir%" md "%BackupDir%" 
11.
if not exist "%BackupOutDir%" md "%BackupOutDir%" 
12.
for %%e in (%Ext%) do for %%i in ("%SourceDir%\*.%%e") do echo copy "%%i" "%BackupDir%\%%~ni_%Datum%_%Zeit%%%~xi" 
13.
for %%i in ("%SourceDir%\*.%ExtOut%") do echo copy "%%i" "%BackupOutDir%\%%~ni_%Datum%_%Zeit%%%~xi"
Die "echo" vor den beiden copy-Befehlen sorgen dafür, dass zunächst nur angezeigt wird, was kopiert würde - wenn alles OK ist, einfach die "echo" entfernen.

Falls die ".out"-Dateien aus dem selben Quellverzeichnis in das selbe Zielverzeichnis wie die anderen Dateien sollen, kannst Du die Zeile set "Ext=lzh acs out" verwenden und das zweite "for %%i ..." ersatzlos streichen.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
11.04.2007 um 19:19 Uhr
Moin HoyGroDo,

Falls das oben eine Art Bestellzettel sein soll, dann fehlen Datum und Lieferadresse.

Falls nicht: Nimm Dir die Zeit, wenigstens ein Mindestmaß an Freundlichkeit (z.B. ein "Hallo", irgendeine halbe Zeile, die mit einem Fragezeichen endet oder ein "bitte") mit in Deine Eröffnungsbeiträge einzustreuen.

Siehe auch Regel (oder eher Selbstverständlichkeit) 5 unserer Forumsregeln.

Auch wenn Du mir (sicherlich genau wie bastla) eine Freude mit kleinen Knobelaufgaben und kurzen, klaren Beschreibungen machst,
arbeiten hier keine Roboter im Akkord.

Und auch dieses ist kein unpersönlicher, automatisch vom Board generierter Textbaustein,
sondern ein individueller Biber-Rüffel ganz persönlich für Dich.

Grüße
Biber
Bitte warten ..
Mitglied: HoyGroDo
13.04.2007 um 12:50 Uhr
Hallo Ihr beiden!

Tut mir in der Tat Leid...

Habe in der Eile (Eintrag kurz vor einem Meeting geschrieben) alle Höflichkeiten vergessen.
Sorry dafür und beim nächsten Mal werde ich mich gerne wieder an die Regeln halten.

Vielen Dank auch für die Hilfe!

HoyGroDo

P.S.
Muss das Skript noch ausprobieren.
Bitte warten ..
Mitglied: Biber
13.04.2007 um 13:55 Uhr
Moin HoyGroDo,

danke und Entschuldigung angenommen...

Bin jetzt auch wieder lieb und wünsche Dir ein sonniges und vor allem baldiges Wochenende.

Wenn Du bastlas Schnipsel getestet bzw. angepasst hast, kannst Du ja bitte den kleinen grünen Haken dransetzen.

Danke
Biber
Bitte warten ..
Mitglied: HoyGroDo
27.04.2007 um 11:10 Uhr
Hallo!

Funktioniert wunderbar (auch wenn ich lange zum Testen gebraucht habe

Allerdings ist mir leider noch eine Sache eingefallen:

Wenn im Quell-Ordner keine Datei vorhanden ist, dann müsste das Skript direkt beendet werden.
Wie kann man das noch einbauen?

Gruß,
HoyGroDo
Bitte warten ..
Mitglied: bastla
27.04.2007 um 11:16 Uhr
Hallo HoyGroDo!

Versuch es einmal nach den "set"-Zeilen mit folgender Zeile:
01.
dir /a-d "%SourceDir%" >nul 2>nul || goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: HoyGroDo
27.04.2007 um 12:09 Uhr
Hallo!

Habe mal wieder nicht gründlich genug beschrieben:

Auf einem FTP-Server liegen zwei Dateien (*.LZH und *.ACS). Diese werden per mget-Kommando auf einen W2K-Server kopiert und dann auf dem FTP-Server gelöscht.

Auf dem W2K-Server wird mit dem beschriebenen Script eine Kopie der Dateien mit der Datumserweiterung in einen Backup-Ordner erstellt.
Die ursprünglichen Dateien werden (normalerweise) von extern abgerufen und gelöscht.

Sollte das Abrufen nicht funktionieren, dann bleiben die Dateien dort liegen.

Das Skript läuft per Task alle 30 Minuten und erstellt natürlich wieder eine Backup-Kopie.

Das müsste allerdings verhindert werden.

Meiner Meinung nach müsste also erst geprüft werden, ob im Backup-Verzeichnis schon eine Datei mit dem gleichen Namensbeginn (z.B. 00393* bzw. 0039301*) liegt - ist das der Fall, so müsste das Kopieren nicht ausgeführt werden.

Hoffentlich habe ich nichts vergessen

Gruß,
HoyGroDo
Bitte warten ..
Mitglied: bastla
29.04.2007 um 16:06 Uhr
Hallo HoyGroDo!

Wenn Du noch die Batch-Datei von oben einsetzt, versuch einmal, die vorletzte Zeile durch diese Variante zu ersetzen:
01.
for %%e in (%Ext%) do for %%i in ("%SourceDir%\*.%%e") do if not exist "%BackupDir%\%%~ni*%%~xi" echo copy "%%i" "%BackupDir%\%%~ni_%Datum%_%Zeit%%%~xi"
Auch hier ist, wie gehabt, das "echo" zu Testzwecken enthalten und muss entfernt werden, damit tatsächlich kopiert wird.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Windows 10 Batch für Datum und Uhrzeit setzen (18)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Microsoft Office
gelöst Excelfunktion Automatisches Eintragen von Datum und Uhrzeit bei ausgefüllter Zelle (3)

Frage von Scrises zum Thema Microsoft Office ...

Windows 10
PC zeigt bei Dateien und Bilder falsches Datum an (4)

Frage von vServer zum Thema Windows 10 ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

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

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

DSL, VDSL
gelöst PfSense 2.4.1 an Telekom Entertain 50MBit VDSL BNG, IPTV funktioniert nicht (9)

Frage von stefanxx zum Thema DSL, VDSL ...