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

Geändert am Datum einer Datei in Dateinamen aufnehmen mit Uhrzeit

Frage Entwicklung Batch & Shell

Mitglied: newbeee

newbeee (Level 1) - Jetzt verbinden

21.09.2011, aktualisiert 21:41 Uhr, 3678 Aufrufe, 12 Kommentare

Hallo guten Tag,
ich hätte mal ne Frage, vielleicht könnte mir jemand helfen.
Ich habe im Forum diesen Thread gefunden:

Frage:
Hallo zusammen,
habe in einem Beitrag hier folgende von mir leicht abgewandelte batch gefunden.
Wenn man per Maus Dateien auf diesen batch zieht und loslässt, wird das aktuelle Datum in den Dateinamen übernommen und vor den alten Dateinamen gesetzt.
Wie bekomme ich denn auf dem selben Weg das "geändert am" Datum der Datei statt dem aktuellen Datum vor den Dateinamen?
Wie muss der Batch aussehen damit das klappt?
Danke für Eure Hilfe!!!

Grüße lulli1



Antwort bastla:
01.
:: *AenderungsDatum_in_Dateiname.bat
02.
@echo off & setlocal
03.
04.
for %%i in (%1) do for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do set "CDATE=%%c-%%b-%%a"
05.
@echo %cdate%
06.
07.
:start
08.
ren %1 "%cdate%_%~nx1%"
09.
10.
if "%~2"=="" goto :eof
11.
if not exist %2 goto :eof
12.
13.
shift
14.
goto :start

hier der Original-Thread:
http://www.administrator.de/index.php?content=86575



und es funktioniert super!!
Jetzt ist mein Problem, daß ich auch gerne noch die Uhrzeit im neuen Dateinamen hätte.
Hat da jemand ein Lösung?

Danke schön, Philipp
Mitglied: 60730
21.09.2011 um 21:44 Uhr
moin,

  • du nimmst dir mal die Bastlasche Batch vor und zerlegst die in Einzelteile.
  • das echo off nimmst du raus.

spiele speziell mit dieser Zeile, und finde in einer Dosbox mittels for /? heraus, was die macht und ändere es dann so, wie du es haben willst.

for %%i in (%1) do for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do set "CDATE=%%c-%%b-%%a"


und schau dir bitte mal die code Tags im Forum an... (Formatierungshilfe)


Gruß
Bitte warten ..
Mitglied: newbeee
21.09.2011 um 21:54 Uhr
Hallo Timo, vielen Dank für deine Antwort!
Mein Problem ist, ich hab überhauptkeine Ahnung von der Materie,
da ist nix mit spielen
Hab schon Freudensprünge gemacht, daß dieses Batch läuft.
Könntest du mir vielleicht das Bastlasche Batch so umschreiben, daß es die Uhrzeit mit in den Namen aufnimmt?

Danke!
Bitte warten ..
Mitglied: 60730
21.09.2011 um 22:14 Uhr
Zitat von newbeee:
Hallo Timo, vielen Dank für deine Antwort!
Mein Problem ist, ich hab überhauptkeine Ahnung von der Materie, da ist nix mit spielen

Mein "Problem" ist - ich hab mehr Lust jemandem spielend was beizubringen, als jemandem etwas vorzukauen.

Hab schon Freudensprünge gemacht, daß dieses Batch läuft.
Könntest du mir vielleicht das Bastlasche Batch so umschreiben, daß es die Uhrzeit mit in den Namen aufnimmt?
Könnte ich...
Aber ich sehe immer noch keine Code Tags in deiner Frage....
Danke!

Immer erst danke schreiben, wenns läuft...


  • Nimm das echo off raus,
  • mache eine neue zeile 7 , in der steht pause drin - schau dir an, was die oben zitierte zeile macht.
  • frage dich, was es mit "delims=. " auf sich hat und was "delims=:. " machen könnte
  • warum 1-3, wenn original schon 5 Werte da stehen
  • welche 4 Buchstaben im alphabet nach A kommen.

Gruß
Bitte warten ..
Mitglied: newbeee
21.09.2011 um 22:30 Uhr
Ich würde ja gerne lernen, aber ich hab wirklich nullkommagarnix Ahnung von Programmieren.
Delims sagt mir nix und ich kann nicht mal beurteilen was Werte sind, geschweige denn wieviele da drinne stehen.
Das mit den Buchstaben geht noch...

han es jetzt so bearbeitet, aber es geht nicht

:: *AenderungsDatum_in_Dateiname.bat
for %%i in (%1) do for /f "tokens=1-5 delims=. " %%a in ("%%~ti") do set CDATE=%%f-%%e-%%d-%%c-%%b-%%a"
@echo %cdate%
:pause
ren %1 "%cdate%_%~nx1%"
if "%~2"=="" goto :eof
if not exist %2 goto :eof
shift
goto :start
Bitte warten ..
Mitglied: 60730
21.09.2011 um 22:35 Uhr
ei bubb...

01.
:: *AenderungsDatum_in_Dateiname.bat 
02.
for %%i in (%1) do for /f "tokens=1-5 delims=. " %%a in ("%%~ti") do set "CDATE=%%e-%%d-%%c-%%b-%%a" 
03.
@echo %cdate% 
04.
:pause 
05.
ren %1 "%cdate%_%~nx1%" 
06.
if "%~2"=="" goto :eof 
07.
if not exist %2 goto :eof 
08.
shift 
09.
goto :start
Wo schrub ich dir, du sollst mit einem doppelpunkt die neue Zeile mit der Pause vom Stapellauf (insider für Batch) abhalten?
Aber das ich dir nun zum 3. mal was von Code Tags schreibe
frage dich, was es mit "delims=. " auf sich hat und was "delims=:. " machen könnte
01.
for %%i in (%1) do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "CDATEtime=%%c-%%b-%%a-%%d-%%e" 
02.
@echo %CDATEtime% 
03.
pause

kleb bitte den grünen Haken dran

Ich kann das nicht auch noch übernehmen.

N8
Bitte warten ..
Mitglied: newbeee
21.09.2011 um 23:20 Uhr
Jetzt trotzdem mal ein Danke für deine Geduld, es geht bei mir irgendwie immer noch nicht.
Hab es jetzt so zusammengeschrieben:

for %%i in (%1) do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "CDATEtime=%%c-%%b-%%a-%%d-%%e"
@echo %CDATEtime%
pause
ren %1 "%cdate%_%~nx1%"
if "%~2"=="" goto :eof
if not exist %2 goto :eof
shift
goto :start

sorry-sorry wenn ich mich blöd anstelle.
Ich hab nix zu "Code Tags" geschrieben, weil ich nicht weiß was das ist.

p.s Es kommt ein schwarzes DOS-Fenster und ich soll eine beliebige Taste drücken,
die Uhrzeit sehe ich aber in dem schwarzen Fenster, also es kann nicht mehr weit sein
Bitte warten ..
Mitglied: 60730
21.09.2011 um 23:26 Uhr
Servus again und nachträglich willkommen...

Zitat von newbeee:
  • hmm der Nick ist doch nixxx....
Jetzt trotzdem mal ein Danke für deine Geduld, es geht bei mir irgendwie immer noch nicht.
Hab es jetzt so zusammengeschrieben:

01.
for %%i in (%1) do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "CDATEtime=%%c-%%b-%%a-%%d-%%e"  
02.
@echo %CDATEtime%  
03.
pause
Und wenn du das "laufen" läßt...., was steht dann in der Dosbox?

ren %1 "%cdate%_%~nx1%"
  • macht der Variablen Name cdate noch Sinn, wenn da nicht nur das datum, sondern auch die Uhrzeit drinsteht und wenn nein - und oben die Variable nicht mehr cdate genommen wird - welchen Grund gibt es die dann nicht hier unten weiter zu nutzen?
01.
if "%~2"=="" goto :eof  
02.
if not exist %2 goto :eof  
03.
shift  
04.
goto :start

sorry-sorry wenn ich mich blöd anstelle.
Ich hab nix zu "Code Tags" geschrieben, weil ich nicht weiß was das ist.
<code></code> ist der Unterschied zwischen deinen und meinen Zeilen in der die Batch steht...

edit
 
C:\>for %i in (C:\ntdetect.com) do for /F "tokens=1-5 delims=.: " %a in ("%~ti") do set "CDATEtime=%c-%b-%a-%d-%e" 
 
C:\>for /F "tokens=1-5 delims=.: " %a in ("04.08.2004 10:00") do set "CDATEtime=%c-%b-%a-%d-%e" 
 
C:\>set "CDATEtime=2004-08-04-10-00" 
2004-08-04-10-00 
 
C:\>pause 
Drücken Sie eine beliebige Taste . . .
Gruß
Bitte warten ..
Mitglied: newbeee
21.09.2011 um 23:51 Uhr
ok, hab das mit CDATEtime reingeschrieben, geht leider immer noch nicht.
Jetzt siehts so aus:

:: *AenderungsDatum_in_Dateiname.bat
for %%i in (%1) do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "CDATEtime=%%c-%%b-%%a-%%d-%%e"
@echo %CDATEtime%
pause
ren %1 "%CDATEtime%_%~nx1%"
if "%~2"=="" goto :eof
if not exist %2 goto :eof
shift
goto :start

Der Nick passt doch, ich hab Null Ahnung.

Es steht in der Dos-Box das, was du auch geschrieben hast, aber die Datei wird nicht umbenannt.

"<code></code> ist der Unterschied zwischen deinen und meinen Zeilen in der die Batch steht..."
Das kapier ich überhaupt nicht.

Gruß
Bitte warten ..
Mitglied: newbeee
21.09.2011 um 23:52 Uhr
Zitat von 60730:
Servus again und nachträglich willkommen...


Bitte warten ..
Mitglied: 60730
22.09.2011 um 00:29 Uhr
"<code></code> ist der Unterschied zwischen deinen und meinen Zeilen in der die Batch steht..."
Das kapier ich überhaupt nicht.
Fällt dir nicht ein klitschkokleiner Unterschied zwischen deinen und meinen zeilen auf - nicht inhaltlich, sondern optisch?
01.
for %%i in (%1) do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "CDATEtime=%%c-%%b-%%a-%%d-%%e" 
02.
@echo %CDATEtime% 
03.
ren %1 "%CDATEtime%_%~nx1%" 
04.
pause 
 
C:\>"C:\bastlawouldkillme\hoffnungsloserfall.cmd " "C:\bastlawouldkillme\Neu Textdokument.txt" 
 
C:\>for %i in ("C:\bastlawouldkillme\Neu Textdokument.txt") do for /F "tokens=1-5 deli 
ms=.: " %a in ("%~ti") do set "CDATEtime=%c-%b-%a-%d-%e" 
 
C:\>for /F "tokens=1-5 delims=.: " %a in ("22.09.2011 00:28") do set "CDATEtime= 
%c-%b-%a-%d-%e" 
 
C:\>set "CDATEtime=2011-09-22-00-28" 
2011-09-22-00-28 
 
C:\>ren "C:\bastlawouldkillme\Neu Textdokument.txt" "2011-09-22-00-28_Neu Textdokument 
.txt" 
 
C:\>pause 
Drücken Sie eine beliebige Taste . . . 
 
C:\>
p.s Es kommt ein schwarzes DOS-Fenster und ich soll eine beliebige Taste drücken,
die Uhrzeit sehe ich aber in dem schwarzen Fenster, also es kann nicht mehr weit sein

Drücke bitte nicht die Anykeytaste!

Der Nick passt doch, ich hab Null Ahnung.
Und daran willst du mal was ändern, oder bist du nur wegen dem einem Problem da und nach dem "Problem" kommt die Sintflut? ein durchgestrichener Nick
, der aus zahlen besteht
?

Gute Nacht, ich muß leider draussen schlafen....
Bitte warten ..
Mitglied: newbeee
22.09.2011 um 01:42 Uhr
Mannomann, du hast mir ja nicht leicht gemacht... aber jetzt klappts!
Hab da jetzt wild hin und herprobiert bis sie letztendlich so aussah:

:: *AenderungsDatum_in_Dateiname.bat
:start
for %%i in (%1) do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do set "CDATEtime=%%c-%%b-%%a-%%d-%%e"
@echo %CDATEtime%

ren %1 "%CDATEtime%_%~nx1%"

if "%~2"=="" goto :eof
if not exist %2 goto :eof
shift
goto :start

Gute Nacht und jetzt "DANKE"
Bitte warten ..
Mitglied: Skyemugen
22.09.2011 um 08:15 Uhr
Zitat von newbeee:
Mannomann, du hast mir ja nicht leicht gemacht... aber jetzt klappts!
[OT]... wer macht es hier wem nicht leicht?

Dass T-Mo die Geduld mit dir aufbrachte, ist erstaunlich ... wer so dümmlich ist (ja, wenn man nach so langem Starren auf etwas vorgekautes mit beschriebenen <code></code>-Tags immer noch nicht in der Lage ist, sie zu benutzen, ist man ganz einfach dümmlich ... wozu steht eigentlich in rot Formatierungshilfe? ...

Der Nick passt doch, ich hab Null Ahnung.
Nur können wir hier darüber nicht schmunzeln, wenn man sich fast schon lernresistent hinstellt und sagt Warum denn, ich hab' doch mein Schild, auf dem steht, dass ich nichts können werde

... ehrlich das passt vielleicht ins Gulli-Board aber nicht ins Administrator.de-Forum ...

Hoffen wir, dass sich das bessern wird.

greetz André

P.S.: Learning by doing / rumspieling nutzt mehr als kopiering by T-Mo-vorkauing-lassing ...
[/OT]

@T-Mo, Respekt, ich wär' hier schon geplatzt

edit: umgeändert in dümmlich
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...