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

Mit Batchdatei, kopieren nach Datum

Frage Entwicklung Batch & Shell

Mitglied: CanTan

CanTan (Level 1) - Jetzt verbinden

29.03.2011, aktualisiert 18.10.2012, 5530 Aufrufe, 22 Kommentare

wer weiß rat?

hi admin's
ich habe ein verzeichnis c:\xyz in welchem jeden tag neu eine backupdatei landet (max anzahl 5 stk --> backup1_02.02.2011,backup2_03.02.2011,backup3_04.02.2011 usw.)
nun möchte ich aus diesem verzeichnis per batch, die jeweils aktuellste, egal an welchen tag ich dies tue, van A -> nach > B kopieren !!
hat wer eine idee wie man die umsetzen kann?
muss auch nicht unbedingt batch sein. auch WSH oder anderes möglich!
evtl. beschreibts diese zeile am besten ...
Scripting.FileSystemObject DateCreated DateLastModified
danke
Mitglied: 60730
29.03.2011 um 21:56 Uhr
moin, schau dir mal

for /f "delims=" %a in ('dir /b /a-d /od') do echo copy "%~dpna" "ziel\"
genauer in der Dosbuxx an...

Gruß
Bitte warten ..
Mitglied: Biber
29.03.2011 um 22:11 Uhr
[OT]
Moin CanTan,

Zitat von CanTan:
evtl. beschreibts diese zeile am besten ...
Scripting.FileSystemObject DateCreated DateLastModified
Will ich ja jezz' nich' kategorisch ausschliessen... Elvis könnte noch leben, glauben viele. Und klar können Schweine fliegen.

Aber ich brauch einen Moment, um darüber nachzudenken, okay?

Bis dahin verschiebe ich's mal von "Windowsoderwatt" nach "Batches From Hell".

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: bastla
29.03.2011 um 22:15 Uhr
... dann siehst Du vielleicht, dass Du nur die letzte Datei benötigst - also etwa:
for /f "delims=" %a in ('dir /b /a-d /od backup?_*') do set "Neueste=%a"
Wenn's dann ein Batch wird, jeweils "%%a" anstelle des "%a" ...

Grüße
bastla

@T-Mo
Da "dir /b" ohne "/s" keinen Pfad liefert, ist "%~dp" nicht zweckdienlich (aber schadet zumindest nicht, solange nur das aktuelle Verzeichnis beackert wird), aber das "x" (= alles nach dem letzten ".") unterschlagen ...
Bitte warten ..
Mitglied: Skyemugen
29.03.2011 um 22:26 Uhr
Aloha,

[OT]
cool, erinnert mich ein wenig an einen anderen Thread heute aber hier darf dein /a-d diesmal stehen *gg*, dich nicht auch irgendwie? ok, jetzt brauchen wir wieder "delims=", höhö
[/OT]

Grüße, André

edit: Dann sagen wir einfach, du hast es in weiser Voraussicht schonmal platziert *gg* - man kann ja nie wissen.
Bitte warten ..
Mitglied: bastla
29.03.2011 um 22:30 Uhr
Hallo Skyemugen!
ok, jetzt brauchen wir wieder "delims=", höhö
"Brauchen" ja nicht gerade (solange die Dateinamen so bleiben, wie sie sind), aber das macht nix ...

Grüße
bastla
Bitte warten ..
Mitglied: CanTan
29.03.2011 um 22:36 Uhr
geht klaro biber!
@timobeil: der ansatz ist supi !!
heißt im klartext, ich erstelle eine datei die so aussieht wie die die ich am ende kopieren will.
da krüppel ich mal noch etwas drüber ... guter ansatz!

oha ..hier haben sich wohl ein paar antworten überschnitten!
bin am sammel .. und sach scho mal danke !!
Bitte warten ..
Mitglied: 60730
29.03.2011 um 22:44 Uhr
Salü Bastla

eigentlich glaub ich dir ja fast alles - jetzt hab ich mal einen VPN/RDP aufgemacht und .....
  • mir kein "S" gekauft....
  • extra ein paar Sonderzeichen reingetüddelt [-] damit ich den Pfad nicht sehe - oder

ich bin Blind

Bastla hat mich geheilt - ich kann wieder sehen

C:\script>for /f "delims=" %a in ('dir /b /od') do @echo [-%~dpna]
[-C:\script\EULA]
[-C:\script\snapshot]
[-C:\script\service]
[-C:\script\nc_net]
[-C:\script\remove_ca_lang]
[-C:\script\snap]
[-C:\script\snap_e]
[-C:\script\tester]
[-C:\script\_berlin]
[-C:\script\explorer]

btw: lustigerweise hatte ich zuerst dein set latest, dann hab ich gesehen, das er kopieren will und den guten Ansatz übern Haufen geworfen....

Gruß
Gruß
Bitte warten ..
Mitglied: bastla
29.03.2011 um 22:47 Uhr
@T-Mo
Und jetzt das Ganze nochmal mit einem anderen Pfad:
for /f "delims=" %a in ('dir /b /od C:\') do @echo [-%~dpna]
- da tatsächlich aus dem "dir /b" kein Pfad kommt, wird eben einer (der aktuelle) dazu erfunden (weshalb es, wie angemerkt, auch weiter nicht schadet, wenn's ohnehin nur um das aktuelle Verzeichnis geht - dann ist die Pfadangabe nur überflüssig ).
dann hab ich gesehen, das er kopieren will und den guten Ansatz übern Haufen geworfen....
Wieso, wenn doch nur eine Datei kopiert werden soll?

Grüße
bastla
Bitte warten ..
Mitglied: 60730
29.03.2011 um 22:50 Uhr
Zitat von bastla:
@T-Mo
Und jetzt das Ganze nochmal mit einem anderen Pfad:
for /f "delims=" %a in ('dir /b /od C:\') do @echo [-%~dpna] 
> 

5 Mark ins Schweinchen , und zwei paar ^ da oben in die Tonne...

Grüße
bastla

Schankedöhn - mit Äpfeln soll man keine Birnenscripte aus der Hüfte schiessen...

Grüße
Bitte warten ..
Mitglied: CanTan
29.03.2011 um 23:23 Uhr
wenns den doch mal so einfach wäre!

die dateien heißen auf N:\backup\
zB:
SICHER_backup_201103212200.bak
SICHER_backup_201103222200.bak
SICHER_backup_201103232200.bak
SICHER_backup_201103242200.bak
SICHER_backup_201103252200.bak
SICHER_backup_201103282200.bak

...und jeden tag, wird die älteste datei, durch eine neue ersetzt ....
wann auch immer mein batch angeschoben wird, er soll immer nur die eine (neuste) rüber
auf zB: K:\ kopieren!
Bitte warten ..
Mitglied: bastla
29.03.2011, aktualisiert 18.10.2012
Hallo CanTan!

Du hast Dir meinen Ansatz da oben (auf Basis Deines Dateinamen-Beispiels "backup1_02.02.2011") angesehen?

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
30.03.2011 um 08:26 Uhr
Aloha bastla!

Wobei ja so wie es jetzt wohl doch anders ist, könnten wir ja wieder auf das schöne /on umspringen.
for /f %%a in ('dir /b /s /a-d /on "%Quelle%\SICHER_backup_20??*.bak"') do set "Neueste=%%a"
... aber ich bezweifle, dass er deine Frage positiv beantworten kann auch wenn er eine Stunde sich dafür Zeit gelassen hat ;)

greetz André
Bitte warten ..
Mitglied: bastla
30.03.2011 um 08:53 Uhr
...wobei wir dann aber gleich Nägel mit Köpfen machen könnten:
01.
set "Quelle=N:\Backup" 
02.
for /f %%a in ('dir /b /s /a-d /on "%Quelle%\SICHER_backup_20??*.bak"') do set "Neueste=%Quelle%\%%a"
Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
30.03.2011 um 09:02 Uhr
... dann aber bitte gleich komplett (btw: "Neueste=%Quelle%\%%a" ? jetzt wo /s vorhanden ist, doch eher überflüssig) ;)
01.
@echo off & setlocal 
02.
set "Quelle=N:\Backup"  
03.
set "Ziel=K:\" 
04.
 
05.
for /f %%a in ('dir /b /s /a-d /on "%Quelle%\SICHER_backup_20??*.bak"') do set "Neueste=%%a" 
06.
copy %Neueste% %Ziel%
Grüße, André
Bitte warten ..
Mitglied: bastla
30.03.2011 um 09:46 Uhr
@Skyemugen
Sorry, hatte nur (zu) kurz drübergeschaut (ansonsten hätte ich oben schon das "/s" rausgenommen, da, so wie ich es verstehe, nur Dateien aus dem Quellordner - und nicht allfälligen Unterordnern - verarbeitet werden sollen; und nur wegen des vollständigen Pfades würde ich diese Option nicht empfehlen) ...

Grüße
bastla

P.S.: Jetzt hast Du CanTan auch die letzte Gelegenheit zu eigener Leistung genommen ...
Bitte warten ..
Mitglied: Skyemugen
30.03.2011 um 09:49 Uhr
Aloha bastla!

ich ging nicht davon aus, dass in den Unterordnern ebenfalls nochmal Dateien nach vorgegebener Maske existieren (und dann noch dem letzten Wert entsprechen würde) *gg* wenn doch, hat CanTan doch noch Gelegenheit etwas selbst zu verändern ... wie war das gestern, du wolltest doch auch etwas spannender machen, hehe

Grüße, André

P.S.: also @echo off, Ziel und copy zu setzen, würde ich nicht als Leistung ansehen ;) die for-Schleife haben wir ihm ja schon abgenommen
Bitte warten ..
Mitglied: 60730
30.03.2011 um 11:07 Uhr
moin Junx und Mädelzzz..

[OT]
@ Sky deine Batch hat aber einen eingebauten selbstzerstörungs Counter 89 jahre lief es und auf einmal
Ich kann mich noch gut an unsere 3270 Zeiten erinnern, das wurden Verträge ohne Ablaufdatum immer mit 99 eingetragen.....
@bastla:
P.S.: Jetzt hast Du CanTan auch die letzte Gelegenheit zu eigener Leistung genommen ...
Diese Zeile aus deiner Feder *duck*
[/OT]

Grüße
Bitte warten ..
Mitglied: Skyemugen
30.03.2011 um 11:09 Uhr
Zitat von 60730:
moin Junx und Mädelzzz..
Aloha T-Mo,
[OT]
@ Sky deine Batch hat aber einen eingebauten selbstzerstörungs Counter 89 jahre lief es und auf einmal
[/OT]
I know, I know aber wir sind doch beide realistisch und glauben nicht daran, dass 2100 n.Chr. die Batch noch ihre Arbeit tun wird *g*

greetz André
Bitte warten ..
Mitglied: bastla
30.03.2011 um 15:26 Uhr
@T-Mo
Ich weiß doch, womit ich Dir eine Freude machen kann ...

Grüße
bastla
Bitte warten ..
Mitglied: CanTan
30.03.2011 um 18:28 Uhr
hallo, hallo, hallo administratoren.
wie kann ich euch jemals danken!????
ok, ich überweise euch alles was ich an geld auf meinen konten habe.
1x 2,60€, 1x 5,69€ und 1x 11,99€ !!

habe es glech mal getestet und funkt absolut priiiima!
i love your all°° verneig° und friede mit euch!
Bitte warten ..
Mitglied: Skyemugen
30.03.2011 um 18:40 Uhr
Aloha,

*lach* so dankbar war bisher auch niemand, schön zu lesen *gg*

Dann nur noch das grüne Häkchen gesetzt und die Arbeit ist getan *^__^*

P.S.: Lass mal deine Kröten stecken *grins* reichen nichtmal für's Frühstück :P

Möge die Batch mit dir sein *lmw*
Bitte warten ..
Mitglied: bastla
30.03.2011 um 18:51 Uhr
Hallo CanTan!

Freut mich, wenn's passt - aber lass mal stecken ...
@Skyemugen
reichen nichtmal für's Frühstück :P
Wie jetzt - für uns alle zusammen?

Grüße
bastla

P.S.: Ging sich dann ja aber dieses Mal doch noch ganz gut aus - wenn man bedenkt, wieviel Monat sonst schon gelegentlich am Ende des Geldes noch übrig war ...
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst In Html-Datei per Batchdatei das Datum und die Uhrzeit eintragen (2)

Frage von Hakiegold zum Thema Batch & Shell ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...