Top-Themen

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

Frage Entwicklung Batch & Shell

GELÖST

Laufender Tag im Jahr und Zähler.

Mitglied: Schmiddy

Schmiddy (Level 1) - Jetzt verbinden

20.07.2005, aktualisiert 22.07.2005, 11369 Aufrufe, 5 Kommentare

Hallo zusammen,

habe folgende Problemchen...

Habe eine Datei mit dem Namen "kkkA5xxxva520.pm"
kkk steht für den Laufenden Tag im Jahr. Heute für den 20.07.2005 wäre das "201".

Wie mache ich es, dass ich den laufenden Tag bekomme, und Ihn in den Dateinamen einfügen kann?
Gibt es da schon Konvertierungsfunktionen oder muss man sich das alles selbst zusammen basteln?

Wie programmiere ich denn in Batch einen Zähler?
Den Wert des Zählers muß bei jeder Datei inkrementiert werden.
xxx können genutzt werden für den Zähler.
Dachte mir das so, dass man in den Systemvariablen den Wert auf 1 setzt und das bei jedem neuen Tag. Wie mache ich das aber bei einem Neustart?

Bei Neustart kein Zählerreset.
Bei Datumswechsel Zählerreset.

Wäre sehr dankbar für Eure Hilfe!
Mitglied: Schmiddy
20.07.2005 um 14:30 Uhr
[code]
d = CDate(date())
Set fs = CreateObject("Scripting.FileSystemObject")
IF fs.FileExists("c:\test1.txt")THEN
fs.DeleteFile "c:\test1.txt", true
End IF
Set txtfile = fs.createTextFile("c:\test1.txt", ForWriting, false)
txtfile.WriteLine datepart("y",d)
txtfile.Close
[/code]

Also das habe ich eben mit VBS hinbekommen.
Gibt mir also den Tag aus. Nun muss ich en Wert aus der c:\test1.txt in den dateinamen schreiben wie mache ich denn das am besten?

LG Schmiddy
Bitte warten ..
Mitglied: Biber
20.07.2005 um 21:23 Uhr
Moin, Schmiddy,

nur aus sportlichen Gründen mal eine reine Batchlösung.
Unterstellt: dieser Batch wird aufgerufen, um eine vorhandene Datei umzubenennen.
--> also <font color=green>kkkxxxRename.bat Dateiname </font>
Lässt sich aber natürlich auch umstricken zu
--> SetzeNächstenDateinamen.bat (ohne Parameter)

01.
:: -------Beispiel kkkxxxRename.bat 
02.
@echo off 
03.
::- unterstellt: Parameter [LW:][Pfad\]Dateiname zum Umbenennen nötig 
04.
::wenn nur eine Variable gesetzt werden soll, die nächsten beiden Zeilen auskommentieren 
05.
If (%1)==() echo Aufruf: %~n0 [LW:][Pfad\]Dateiname zum Umbenennen 
06.
If (%1)==() goto PanicExit 
07.
 
08.
if not defined OldDate set OldDate=%date% 
09.
if defined kkk  if %OldDate%==%date% goto kkkHabIch 
10.
set Monat=%date:~3,2% 
11.
set Tach=%date:~0,2% 
12.
IF %Monat%==01 Set /a TageVorbei = 0 
13.
IF %Monat%==02 Set /a TageVorbei = 31                      
14.
IF %Monat%==03 Set /a TageVorbei = 31 +28 
15.
IF %Monat%==04 Set /a TageVorbei = 31 +28 +31 
16.
IF %Monat%==05 Set /a TageVorbei = 31 +28 +31 + 30 
17.
IF %Monat%==06 Set /a TageVorbei = 31 +28 +31 + 30 + 31 
18.
IF %Monat%==07 Set /a TageVorbei = 31 +28 +31 + 30 + 31 +30  
19.
IF %Monat%==08 Set /a TageVorbei = 31 +28 +31 + 30 + 31 +30 +31 
20.
:: etc..lies selber vom Kalender ab *gg 
21.
 
22.
Set /a kkk=%TageVorbei% + %Tach% 
23.
 
24.
:kkkHabIch   
25.
 
26.
if not exist %temp%\%kkk%.txt echo 1000>%temp%\%kkk%.txt 
27.
set /p nxxx=&lt%temp%\%kkk%.txt 
28.
set /a nxxx= %nxxx% + 1 
29.
set cxxx=%nxxx:~1,3% 
30.
echo Alter Dateiname: %1  neuer Dateiname: %kkk%%~n1%cxxx%.%~x1 
31.
:: hier dann vielleicht ein Rename oder ein copy oder whatever 
32.
:: Beispiel rename %1 %kkk%%~n1%cxxx%.%~x1 ....... oder rename %1 %kkk%A5%cxxx%va520.~x1  
33.
:: ergibt z.B rename v:\data\test.xyz 201data003.xyz ...oder rename v:\data\test.xyz 201A5003va520.xyz 
34.
:: oder eben Set NaechsterDateiname=%kkk%A5%cxxx%va520 
35.
:: und dann Zähler hochsetzen in der Datei, wenn nichts gescheitert ist: 
36.
if errorlevel 0 echo %nxxx%>%temp%\%kkk%.txt 
37.
For %%i in (nxxx cxxx Tach Monat) do set %%i= 
38.
:PanicExit 
39.
::-------Beispiel kkkxxxRename.bat
Sollte auch resistent gegen zwischenzeitliches Booten sein und auch gegen Arbeiten über die Mitternachtsgrenze hinweg.
Dafür die %OldDate%-Zeilen.

Hope It Helps

Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: Schmiddy
22.07.2005 um 12:56 Uhr
Danke schön klappt wirklich super!!!!!

LG Schmiddy
Bitte warten ..
Mitglied: Biber
22.07.2005 um 13:57 Uhr
Freut mich, Schmiddy,

als bekennender Perfektionist noch der Hinweis:
ich würde auch die kkk-Variable grundsätzlich auf drei Stellen formatieren (falls 2006 das Bätchelchen immer noch im Einsatz ist *gg), also:

Set /a kkk=%TageVorbei% + %Tach% ......ändern in

Set /a kkk=1000+%TageVorbei% + %Tach%
Set kkk=%kkk:~1,3%


Schönes und vor allem baldiges Wochenende
Frank / der Biber aus Bremen
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Zweistelliges Jahr aus vorgegeben vierstelligen Jahr aus Textdatei
gelöst Frage von FahrradBatch & Shell9 Kommentare

Hallo und guten Morgen ich habe eine CSV-Datei, die Daten im folgenden Format enthält in vielen Zeilen enthält: 1234567;24.02.2018;10.03.2018;XY ...

Humor (lol)
Windows im Jahre 2256?
Information von LochkartenstanzerHumor (lol)22 Kommentare

Moin, Wenn man "Star Trek: Discovery" glauben darf, ist werden auch im Jahr 2256 noch "Windows-Leichen" die Sternenschiffe steuern. ...

Batch & Shell
In Batch Zählen
gelöst Frage von mavericklpBatch & Shell2 Kommentare

Guten Morgen zusammen, Ich habe ein kleines Problem mit einer Zählschleifer in der Batch Datei. Und zwar werden die ...

Datenbanken
TSQL - Tabelle mit Kosten pro Monat und Jahr in View über mehrere Jahre übernehmen.
gelöst Frage von GrinskeksDatenbanken2 Kommentare

Hallo allerseits, derzeit habe ich ein Problemchen mit der Realisierung folgender Anforderung: Für ein Projektmanagement-Tool sollen Kosten pro Projekt, ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 22 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit25 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Windows 10
Automatische daten kopieren, USB zu USB unter Win10 im Hintergrund
Frage von DerEisigeWindows 1016 Kommentare

Hallo Leute, ich bin auf der Suche nach einem Skript, dass von einem USB Stick automatisch nach dem einstecken ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...