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 erstellen, um Datei mit aktuellem Datum abzuspeichern

Frage Entwicklung Batch & Shell

Mitglied: maximi

maximi (Level 1) - Jetzt verbinden

08.12.2004, aktualisiert 21.07.2006, 174849 Aufrufe, 24 Kommentare

[Edit] * auf "Gelöst" gesetzt. Diese Frage wird auch im Tutorial "Umgang mit Datums- und Zeitvariablen im Batch" hier im Bereich "Batch und Shell" diskutiert. *** Biber, 20.7.2006 [/Edit]

Hallo zusammen,

ich möchte täglich eine immer gleich lautende Datei "cas.dat" per Batch-Datei umbenennen lassen. Es soll daraus eine "cas20041209.bat" (nach dem DatumsFormat yyyymmtt)werden.

Wie lautet eine Befehlszeile dazu? Danke.
Mitglied: zorlayan
17.12.2004 um 04:47 Uhr
@ECHO
var datum = (time(now,yyyymmtt))
ren cas.dat cas&datum.dat
end
exit

denke ich mal, aber bin nicht sicher.
Bitte warten ..
Mitglied: zorlayan
17.12.2004 um 04:49 Uhr
sollte zweite Zeile wie folgendes sein.
var datum = time(now,yyyymmtt)
Bitte warten ..
Mitglied: maximi
17.12.2004 um 09:00 Uhr
Danke, leider kommt ab der Zeile <var datum ...> die Fehlermeldung "Der Befehl"var" ist falsch geschrieben oder konnte nicht gefunden werden.
PS: Macht das Betriebssystem heir etwas aus? Ist XP.
Bitte warten ..
Mitglied: alaska
27.02.2005 um 20:39 Uhr
da haben den Kollegen andere Programmiersprachen reingespuckt.

var ist nicht notwendig-

Die Zeile heisst also: datum = time(now,yymmtt)
Bitte warten ..
Mitglied: alaska
28.02.2005 um 00:12 Uhr
sorry hab mich vertan

die richtige Batdatei muss so aussehen

set datum=time(now,yyyymmtt)
ren cas.dat cas%datum%.dat
end
exit
Bitte warten ..
Mitglied: maximi
02.03.2005 um 08:31 Uhr
Danke,
es kommt allerdings noch ein Syntaxfehler bei der Zeile

ren cas.dat cas%datum%.dat

Warum?
Bitte warten ..
Mitglied: alaska
02.03.2005 um 21:04 Uhr
Betrifft mich: ad 1) man soll nix auf die schnelle machen
Bitte warten ..
Mitglied: alaska
02.03.2005 um 21:10 Uhr
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDATE=%%b%%c%%d
echo %cdate%
ren textdatei2.txt textdatei%cdate%.txt


ich dürfte erstens zu schnell gewesen sein, zweitens sind die batch-sachen
auch nicht mehr so oft gefragt.

die Zeitle mit echo %cdate% ist nur testhalber drin ob das Datum stimmt, kannst du
dann rausschmeissen.

gruss
Bitte warten ..
Mitglied: alaska
02.03.2005 um 23:20 Uhr
Nachtrag

mit folgender kannst du beliebige .txt dateien unbenennen

ich hab sie datum.bat genannt - Aufruf also datum Dateiname.txt

FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDate=%%b%%c%%d
echo %cdate%
pause
ren %1 %~n1%cdate%.txt

mit dieser überhaupt beliebige - Aufruf:

datum Dateiname Dateieindung

FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDate=%%b%%c%%d
echo %cdate%
pause
ren %1 %~n1%cdate%.%2

tschau
Bitte warten ..
Mitglied: dommasch
14.04.2005 um 13:59 Uhr
Hallo Alaska,

bekommt man damit auch irgendwie den Wochentag raus?

Im übrigen hätte man das mit dem Datum auch so machen können:
[...]
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%

echo foo> %jahr%-%monat%-%tag%.txt
[...]

Auch mit den Wochentag konnte ich bisher immer aus dem date rausfischen, allerdings klappt das nicht mehr auf windows2003server. Hast du da eine Idee?

Grüße,
T. Lindner
Bitte warten ..
Mitglied: alaska
15.04.2005 um 23:24 Uhr
du brauchst nur bei ... do set cdate=%%a%%b%%c....
%%a ist die die Wochentagsabkürzung Mo, Di,.....

tschau
Bitte warten ..
Mitglied: dommasch
22.04.2005 um 14:55 Uhr
Vielen Dank!
Bitte warten ..
Mitglied: bugele2
17.08.2005 um 17:26 Uhr
hallo,

möchte nicht extra ein neuen beitrag erstellen.

aber wie löse ich das problem unter windows 98.

möchte immer einen ornder namens foto in die aktuelle urzeit umbenennen?

danke!
Bitte warten ..
Mitglied: alaska
01.09.2005 um 03:26 Uhr
hallo bugele2 !

probiers mit folgender Batch

echo.|date>datum.bat
echo set DATUM=%%3%%4>aktuelles.bat
call datum.bat
ren foto foto%DATUM%
del datum.bat
del aktuelles.bat

wenn du den Wochentags-Kürzel dabei haben willst musst du auch %%2 angeben.
Bitte warten ..
Mitglied: Biber
01.09.2005 um 09:34 Uhr
@alaska
ja, meistens klappt das...
Ist aber abhängig von den Länderspezifischen Einstellungn / Regional Settings.

Bei mir (XP Prof):
<= 9:29:43 E:\=>
>echo.|date
Aktuelles Datum: 01.09.2005
Geben Sie das neue Datum ein: (TT-MM-JJ)
---
Nix mit Wochentag.
Aber mit den "richtigen" Einstellungen klappt Deine Lösung natürlich wunderbar.
Grüße
Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: tangus
17.10.2005 um 02:11 Uhr
Wie wär es hiermit???

Damit kann man so vielen Dateien das Datum anhängen wie man will.
aus 'text.txt' wird 'text.20051031.txt' .
Erklärung:
Einfach die gewünschten Dateien auf die Batchdatei ziehen.

:: *STARTDatum_in_Dateiname.bat
@ECHO OFF

FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDATE=%%d%%c%%b%%a
@echo %cdate%

:start
ren %1 "%~n1.%cdate%%~x1"

if exist %2 goto weiter
goto EOF

:weiter
shift
goto start

:EOF
:: *STOP

Fehlt nur noch eine Möglichkeit Ordner oder alle Dateien in einem Ordner umzubenennen.

Grüße, Tangus
Bitte warten ..
Mitglied: Biber
17.10.2005 um 02:58 Uhr
@tangus
Im Prinzip ja, aber leider Betriebssytem-, Länder- und Usereinstellungsabhängig:
01.
>dir ben*.txt 
02.
 Verzeichnis von Z:\  
03.
 
04.
14.10.2005  22:46                4.514 Benutzer.txt 
05.
16.10.2005  23:14                  548 benutzer1.txt 
06.
 
07.
Z:\> 
08.
>renmitDatum.bat Benutzer.txt 
09.
20051017&#9792;Mo 
10.
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung 
11.
ist falsch.
Windows-Version: Win2000 dt
>date/t
Mo 17.10.2005
Ich hatte mal hier ein paar Zeilen Batch-Tutorial dazu geschrieben.

Dein Batch passt schon fast immer.
Wenn ich den Parameter %%a am Ende der DO-Anweisung weglasse (den Wochentag) läuft es bei mir auch. Oder wenn ich nur Tokens 2,3,4 nehme und nur %%c%%b%%a
~~~
14.10.2005 22:46 4.514 Benutzer.20051017.txt
~~~

Aber der Ansatz ist gut... das Ganze noch per Batch oder VBSkript ins Kontext-Menü aufnehmen lassen.. ist sicher hilfreich in vielen Fällen.

Grüße
Biber
Bitte warten ..
Mitglied: Zufi
06.07.2006 um 00:19 Uhr
Hallo zusammen

Es ist zwar schon länger kein Eintrag hinzugekommen aber ich versuche es direkt hier weil sich meine Frage um diese Batch Datei handelt. Erstmals vielen Dank für die tollen Erklärungen und Hinweise.

Leider komme ich selber nicht weiter....

Die Batch Datei ist genau nachdem ich gesucht habe. Ich benötige jedoch noch die Sekunden in der Datei.

Besten Dank für eure Hilfe.

Gruss Zufi
Bitte warten ..
Mitglied: Biber
06.07.2006 um 22:12 Uhr
Moin Zufi,
am CMD-Prompt liefert Dir
for /f "tokens=3 delims=:," %i in ("%time%") do @echo %i
...die Sekunden.
Im Batch kannst Du die Dir merken in einer Variable %secs%.

...
for /f "tokens=3 delims=:," %%i in ("%time%") do set "secs=%%i"
..
Biber
Bitte warten ..
Mitglied: Zufi
06.07.2006 um 23:05 Uhr
Hallo Biber

Das Schreckt mich schon ein bisschen ab. Ich werde dies aber gemäss deiner Anleitung morgen Versuchen. Besten Dank für deine Hilfe. Ich wurde schon fast wahnsinnig beim suchen der Sekunden im cmd.

Danke und Gruss
Zufi
Bitte warten ..
Mitglied: Alik
20.07.2006 um 15:28 Uhr
Genau das was ich gesucht habe. Vielen Dank.

Ein Problem habe ich jedoch noch. Ich möchte die Datei zwei Mal am Tag umbenennen und dazu brauche ich Minuten ansonsten wird diese ständig überschrieben.

Vielen kann mir jemand behilflich sein.

Danke
Bitte warten ..
Mitglied: Biber
20.07.2006 um 15:52 Uhr
Moin Alik,

läuft eigentlich analog zu der Wie-bringe-ich-Sekunden-da-unter?-Frage.
Beispiel am CMD-Prompt:
01.
(=15:45:37  D:\temp=) 
02.
>echo %date% %time% 
03.
20.07.2006 15:45:45,79 
04.
 
05.
(=15:45:45  D:\temp=) 
06.
>for /f "delims=.,: tokens=1-5" %a in ("%date%,%time%") do @echo %a %b %c %d %e 
07.
20 07 2006 15 45 
08.
 
09.
(=15:45:50  D:\temp=) 
10.
>for /f "delims=.,: tokens=1-5" %a in ("%date%,%time%") do @echo %c-%b-%a_%d %e 
11.
2006-07-20_15 46 
12.
 
13.
(=15:46:05  D:\temp=) 
14.
>for /f "delims=.,: tokens=1-5" %a in ("%date%,%time%") do @echo %c-%b-%a_%d_%e 
15.
2006-07-20_15_46
Inm Bereich "Batch und Shell" befindet sich auch ein Tutorial zu dem Thema "Umgang mit Datums- und Zeitvariablen im Batch".

Ich setze jetzt mal diesen Beitrag hier auf "Gelöst".

Hope That Helps
Biber
Bitte warten ..
Mitglied: Alik
21.07.2006 um 15:17 Uhr
Vielen Dank für die Hilfe, aber offensichtlich bin ich zu doff dafür.
Ich würde gerne die Sachen von tangus nur noch mit Minuten haben.
Bitte warten ..
Mitglied: Biber
21.07.2006 um 18:00 Uhr
Ja und?
Wenn Dir das zu unübersichtlich ist mit Datum und Zeit in der FOR-Klammer, dann hol die Minuten aus einer Extra-For-Zeile.
Soooo teuer ist ja nun der durch eine zusätzliche Batch-Zeile verbrauchte Plattenplatz nun auch nicht mehr....

01.
:: Minuten.bat 
02.
for /f "delims=: tokens=2" %%i in ("%time%") do Set "Minuten=%%~i" 
03.
Echo Zeit ist %time%, Minuten sind %Minuten%
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Server 2016 Core als VM auf Win10 1607 - geht nicht

(1)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Ähnliche Inhalte
Basic
gelöst Mit Visual Basic Batch Datei öffnen (26)

Frage von Flodsche zum Thema Basic ...

Batch & Shell
Batch Datei wird per Aufgabenplanung nicht ausgeführt (7)

Frage von Corraggiouno zum Thema Batch & Shell ...

Netzwerkmanagement
gelöst Batch Datei auf anderem PC öffnen (35)

Frage von Flodsche zum Thema Netzwerkmanagement ...

Batch & Shell
gelöst Batch-Datei in Exe-Datei umwandeln - .exe im Autostart (7)

Frage von Luuke257 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Off Topic
Mein Arbeitsplatz wurde Outgesourced (42)

Frage von Schroedingers.Katze zum Thema Off Topic ...

Windows Server
gelöst Windows Server Sicherung wirre Meldungen (21)

Frage von DKowalke zum Thema Windows Server ...

Windows 10
gelöst GPO wird bei manchen Rechnern nicht übernommen (20)

Frage von Hanuta zum Thema Windows 10 ...

Mac OS X
gelöst Netzlaufwerke MAC OS Sierra (16)

Frage von Hendrik2586 zum Thema Mac OS X ...