asdfg321
Goto Top

Batchprogrammierung

Batchprogrammierung in verbindung mit robocopy

Hallo erstmal

Wir haben eine BAtchdatei die alle dateien verschieben soll, die älter als 35 tage sind. So sieht der code aus:

robocopy /Q /MOV /minage:35 %PATHTOIMAGE%\oldImages %PATHTOIMAGE%\oldtrash

Wir haben schonn verschiedenste varianten ausprobiert, mit anführungszeichen und ohne, /MOV oder /MOVE,...
aber wir bekommen es nicht hin


Und noch ein zweites Problem. Wir wollen eine bestimmte datei so umbenennen, das datum und uhrzeit im Dateinamen enthalten sind.
Das ist der code:

rename /Q %PATHTOIMAGE%\oldImages\*.hsh oldfull_%date:~0,2%-%date:~3,2%-%date:~6,4%-%time:~0,4%.hsh

Ebenfalls schon alles mögliche probiert, ohne erfolg

Vielen dank im vorraus

Gruß, asdfg321

Content-Key: 123855

Url: https://administrator.de/contentid/123855

Printed on: April 16, 2024 at 10:04 o'clock

Mitglied: 81825
81825 Aug 31, 2009 at 13:04:16 (UTC)
Goto Top
Hallo, und willkommen im Forum.

Zitat von @asdfg321:
Ebenfalls schon alles mögliche probiert, ohne erfolg

Die hervorragende Suchfunktion in diesem Forum hast du aber offenbar bei den Möglichkeiten ausgelassen. face-wink


Kleiner Tipp:
Im Ergebnis deiner gestrippten Time-Variablen ist sehr wahrscheinlich ein Doppelpunkt enthalten, wenn es sich um die Default-Zeitangabe handeln sollte, das ist ein verbotenes Zeichen in Datei-/Ordnernamen.
Member: pieh-ejdsch
pieh-ejdsch Aug 31, 2009 at 15:49:53 (UTC)
Goto Top
Hi asdfg321,

so wie Du es oben angegeben hast würdest do alle dateein löschen bis auf die letzte.
weil die ja alle gleich heisen würden.

Fürs Aktuelle Datum und Aktuelle Zeit wenn in der %date% Variable kein Wochentag oder Monatsname steht.
pushD "%PATHTOIMAGE%\oldImages"  
for /f "tokens=1-5 delims=:." %%i in ("%date%.%time%") do for /f "tokens=*" %%a in ('dir /b "*.hsh"') do move "%%a" "oldfull_%%~na%%i%%j%%k%%l%%m.hsh"  
popD

oder soll die Erstellungszeit der Datei genommen werden?

Gruß Phil
Member: MiniStrator
MiniStrator Aug 31, 2009 at 19:45:16 (UTC)
Goto Top
Hi!

Alles Baustellen...

Schau dir mal http://home.mnet-online.de/horst.muc/wbat32d.htm an, ist zwar nicht DER vertrauenswürdige Link, aber das Teil tut, und zwar hervorragend.
Zumindest beim verschieben oder löschen.
Für das umbenennen ist der Weg von pieh-ejdsch der richtige Ansatz, mit dem "tokens=1-5 delims" kenn ich mich aber nicht so aus...

mfg MiniStrator
Member: pieh-ejdsch
pieh-ejdsch Aug 31, 2009 at 20:27:47 (UTC)
Goto Top
@MiniStrator

das tokens wertet die gefundenen Abschnitte die zwischen den im delims angebenen TrennZeichen aus.

%date%.%time% wird ja als 31.08.2009.22:15:05 angezeigt und in der Gruppe der Forschleife aufgedröselt.

also ist 31 das 1. token, 08 das 2. token ... und 15 das 5. token welche dann ohne die delims (weil die ja den Trennzeichensatz bestimmen) ausgegeben werden.
und mit %%i %%j %%k usw. bestimmst Du was Du mit den einzelnen gefunden Sachen machst.welche ja den 1. und folgenden tokens entsprechen wie die Variable in dem fall %%i vor dem **in* in der Forschleife als erstes token angegeben werden.

das Sternchen in tokens löst das was als jeweiliges token an der reihe wäre in den ganzen rest auf der in der For Gruppe gefunden wird. oft wird auch anstelle von "tokens=*" die Version "delims=" genommen also ohne Trennzeichen. im Prinzip also das gleiche.

Gruß Phil
Member: asdfg321
asdfg321 Sep 01, 2009 at 10:56:12 (UTC)
Goto Top
Hallo zusammen,

also das Datum sollte immer das Heutige Datum und Zeit haben...sorry wenn das nicht klar wahr =)


Wir haben jetzt den Befehl:

rename %PATHTOIMAGE%\oldImages\*.hsh oldfull_%date%.hsh

genommen. Wir wollten aber auch die Uhrzeit haben. Was müssen wir da noch hinter schreiben? Das haben wir aber nicht hinbekommen.


Könnt ihr uns da nochmal weiter helfen??? Danke schonmal.

Und vielen Dank auch für eure bisherige Hilfe


Gruß asdfg321
Mitglied: 81825
81825 Sep 01, 2009 at 11:07:12 (UTC)
Goto Top
In dem von mir geposteten Link zur Suchfunktion findest du eine Anleitung: "Workshop Batch for Runaways Part III Datums- und Zeitvariablen im Batch"
Die wurde seinerzeit sicherlich dazu erstellt, dass man sich informieren kann und sich auch daran orientieren, und sicher nicht, dass sich jeder hier einfach nur bedienen lässt.
Außerdem gibt es jede Menge Threads, die sich mit dem Thema beschäftigen.

Von etwas Eigeniniative stirbst du nicht.
Member: pieh-ejdsch
pieh-ejdsch Sep 03, 2009 at 00:50:32 (UTC)
Goto Top
[OT]
@81825
asdfg321 hätte ja blos mal den Post durchzulesen brauchen der über seinen letzten stand.
[/OT]


Gruß Phil