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

Per Batch eine Zahl innerhalb einer Ini Datei verändern

Frage Entwicklung Batch & Shell

Mitglied: redi1337

redi1337 (Level 1) - Jetzt verbinden

21.06.2012 um 16:27 Uhr, 2379 Aufrufe, 7 Kommentare

Hallo Freunde,

ich habe ein kleines Problem:

ich habe eine Ini Datei in der an einer bestimmten Stelle eine Zahl steht,
die ich gerne einmal pro woche erhöhen möchte.

Da ich mich mit Batch dateien nicht so gut auskenne hoffe ich das ihr eine Lösung habt
Ich bin mir nicht mal sicher ob das was ich hier versuche überhaupt möglich ist ?!

mfg redi
Mitglied: TsukiSan
21.06.2012 um 16:31 Uhr
Hallo redi1337,

um deine Frage eventuell positiv zu beantworten, benötigen wir mehr Details.

Gib uns doch bitte mal ein Besipiel der Datei - also wie sie aufgebaut ist - damit wir wissen, an welcher Stelle was erhöht werden soll.

Gruss
Tsuki
Bitte warten ..
Mitglied: redi1337
21.06.2012 um 16:42 Uhr
Hallo,

Danke für die schnelle Antwort

die Ini-Datei steuert das Archivsystem bzw. den direkt Drucker.

[Destination]
Department=DL-BEK
Cabinet=2012
Folder=06
Job=*NEWJOB*
SearchCriteria1=unbekannt
SearchCriteria2=*PRINTJOB*
SecondsSame=30

Ich müsste im prinzip in diesem Fall die Zahl bei "Folder" als das 06 erhöhen auf 07 sobald der nächste Monat beginnt und wenn es bei 12 angekommen ist dann soller wieder von 1 anfangen.

Das ganze gibt es auch noch mit den Kalenderwochen, da steht dann bei "Folder" z.b. 23 und soll dann in der nächsten woche auf 24 erhöht werden. Hier auch wieder sobald 52 erreicht ist soll wieder bei 1 angefangen werden.

mfg redi
Bitte warten ..
Mitglied: TsukiSan
21.06.2012, aktualisiert um 17:07 Uhr
Hallo redi,

jetzt weiss ich ehrlich gesagt nicht, ob es bei Batch eine Restwertrechnung gibt.
Das liese sich in VBS sicher gestalten. Nur gibt es einen Haken: Bei den Monaten sehe ich noch keine Probleme. Die kriegt man easy raus mit
01.
MeineVariable = Month(Date)
Aber die aktuelle Kalenderwoche. Da gibt es meiner Meinung nach keine vorgeferkelte Funktion. Das muss man sich selber basteln. Wäre auch kein so grosses Problem, muss man nur viel tippen Hinzu kommt, dass es mal Jahre mit nur 51 Wochen oder mit 53 Wochen geben kann.
Jupp, das wirft gerade neue Fragezeichen auf.

Muss man mal überlegen.
Das manipulieren deiner INI-Datei wäre ein kinderspiel, aber meine Gedanken etwas weiter oben....

Gib uns mal etwas Zeit.

Gruss
Tsuki
Bitte warten ..
Mitglied: bastla
21.06.2012, aktualisiert um 17:21 Uhr
@Tsuki
Aber die aktuelle Kalenderwoche. Da gibt es meiner Meinung nach keine vorgeferkelte Funktion.
Schau Dir mal "DatePart("ww", ...)" an ...
jetzt weiss ich ehrlich gesagt nicht, ob es bei Batch eine Restwertrechnung gibt.
set /a R=Monat %% 12
- liefert allerdings natürlich für 12 den (Modulo-)Wert 0 ...

... daher eher die einfache Variante (Monat wird ja nur immer um 1 erhöht)
if %Monat% gtr 12 set /a Monat-=12
Grüße
bastla
Bitte warten ..
Mitglied: TsukiSan
21.06.2012, aktualisiert um 18:10 Uhr
Hallo bastla,

Schau Dir mal "DatePart("ww", ...)" an ...
das ist interessant. Danke vielmals! Ich habe mir bisher die KWs immer händisch errechnet. Ich danke dir!
Man könnte es natürlich auch über http abfragen, aber was, wenn die Seite mal nicht erreichbar ist oder man ist gerade nicht online

Nevertheless: hier mal ein kleines Script bezüglich des Monats in der INI-Datei aktuell zu halten. Das lässt sich sicherlich noch verschönern grins
01.
Set FSO = CreateObject("Scripting.FileSystemObject") 
02.
MeineDaten = Split(FSO.OpenTextFile("redi1337.txt", 1).ReadAll, "Folder=") 
03.
 
04.
a = month(Date) 
05.
If a < 10 then a = "0" & a 
06.
b = MeineDaten(0) & "Folder=" & a & Mid(MeineDaten(1),3,Len(MeineDaten(1))) 
07.
 
08.
Set MeineDatei = FSO.CreateTextFile("redi1337_neu.txt",True).Write(b) 
09.
MeineDatei.Close 
10.
 
11.
Set FSO = Nothing 
12.
Set MeineDatei = Nothing 
13.
 
14.
Wscript.Echo "Daten aktualisiert"
Beste Grüße

Tsuki

[Edit]
Das Script ist in VBS, nicht in Batch.
[/Edit]
Bitte warten ..
Mitglied: TsukiSan
21.06.2012 um 17:47 Uhr
Hallo bastla,

ich nochmal

- liefert allerdings natürlich für 12 den (Modulo-)Wert 0 ...
Ja, um die Modula-Rechnung ging es mir hauptsächlich (Restwertrechnung).
Der kleine Schönheitsfehler dabei ist natürlich die NULL.
Das lässt sich sicher definieren. Allerdings wusste ich nicht, ob batch das auch kann. Nun weiss ich es Bin kein so guter Bätscher

Danke und viele Grüße

Tsuki
Bitte warten ..
Mitglied: bastla
21.06.2012 um 21:32 Uhr
Hallo Tsuki!
b = MeineDaten(0) & "Folder=" & a & Mid(MeineDaten(1),3)
würde auch genügen (die Länge des Teilstrings muss eigentlich nur bei der Funktion "TEIL()" in einer Excel-Formel angegeben werden), und die Formatierung des Monatswertes könntest Du auch einfach per
a = Right(Month(Date) + 100, 2)
erledigen ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Per Batch eine XLS-Datei in eine TXT-Datei umwandeln (5)

Frage von skiing69 zum Thema Batch & Shell ...

Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Eingabe in Datei schreiben (2)

Frage von MedicalAd zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Update
gelöst MS: Update-Server-Adressen OHNE Wildcards (17)

Frage von mrserious73 zum Thema Windows Update ...

Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...