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, 2368 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst BATCH ini Datei Datei auslesen (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell oder Batch-Task: Kopiere Datei x mal und benenne diese um (2)

Frage von Lorderich zum Thema Batch & Shell ...

Windows Server
gelöst Terminalserver .ini Datei unter C:Windows (8)

Frage von geocast zum Thema Windows Server ...

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 ...