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

gelöst Per Batch in vielen Text Dateien rechnen

Mitglied: Virtu-Al

Virtu-Al (Level 1) - Jetzt verbinden

12.01.2010, aktualisiert 11:08 Uhr, 4384 Aufrufe, 6 Kommentare

Konstante subtrahieren

Hallo an alle Batch Profis!

Hab schon alles hier durchforstet bin aber zu schwach um vorhandene Codes zu modifizieren.
Soweit ich mitbekommen habe ist mein Problem für euch aber keines(hoffentlich).

Folgends Problem:
Ich habe ca. 2000 TXT Files die alle gleich strukturiert sind, und zwar exakt so:

0.5
-0
-0
-0.5
635000.25
289999.75

Die ersten 4 Zeilen sind überall gleich und sollen es auch bleiben, die Zeile 6 bleibt auch unverändert.
Die Zeilen 5 und 6 haben in jeder TXT Datei andere Werte, die Länge der Zahlen bleibt aber gleich.

Problemkind ist die Zeile 5, hier soll in allen TXT Dateien ein konstanter Wert subtrahiert werden(oder addiert).

Bin für jede Idee dankbar.

lg
VirtuAl
Mitglied: Biber
12.01.2010 um 11:57 Uhr
Moin Virtu-Al,

zwei Rückfragen.
  • wie /woran willst du erkennen, ob es sich bei der Zeile fünf um einen schon korrigierten/noch zu korrigierenden Wert handelt? Sollen die frisierten Dateien in einem anderen Verzeichnis und oderunter einem anderen Namen abgelegt werden? (wenn du halt vorher/nachher nur 2000 xyz-Dateien in einem Verzeichnis hast und einen Batchlauf startest, der bei Datei 666 abbricht...... da ist die Restartfähigkeit nicht hoch)
  • Wegen Wahl des Werkzeugs: "Im Batch rechnen" geht eigentlich nur mit Ganzzahlen. Daher wäre Batch ( i.S. von reine CMD-Befehle) nur sinnvoll, wenn zumindest der zu addierende Wert ganzzahlig ist. Sonst sollten wir gleich mit VBSkript/JScript starten.

Grüße
Biber
Bitte warten ..
Mitglied: Virtu-Al
12.01.2010 um 13:49 Uhr
Hi !

Sinnvoll wäre es die korrigierten Dateien in ein anderes Verzeichnis zu dulizieren, somit wäre auch klar dass diese Dateien schon korrigiert sind. Weiters wäre aufgrund des Wertes selbst klar ob eine Korrektur stattgefunden hat oder nicht.
Es werden 6-stellige Werte subtrahiert also wäre das eindeutig, außerdem würde es in der weiterführenden Verwendung der txt files sofort auffallen.
Punkto "ganzzahlig" ist das natürlich eine schlechte Nachricht, es werden zwar nur Ganzzahlen subtrahiert aber die Werte werden negativ. Also ist eine Lösung via Batch nicht möglich :/

Wäre die angesprochene VBA Lösung sehr aufwendig ?

lg und danke
VirtuAl
Bitte warten ..
Mitglied: Biber
12.01.2010 um 14:26 Uhr
Moin Virtu-Al
Zitat von Virtu-Al:
Hi !

Sinnvoll wäre es die korrigierten Dateien in ein anderes Verzeichnis zu dulizieren,
somit wäre auch klar dass diese Dateien schon korrigiert sind.
Duplizieren wäre in der Tat ein möglicher Weg..
Weiters wäre aufgrund des Wertes selbst klar ob eine Korrektur stattgefunden hat oder nicht.
Es werden 6-stellige Werte subtrahiert also wäre das eindeutig, ....
Ja nee... schon klar. Allerdings muss dafür irgendein Freiwilliger in 2000 von 2000 Dateien die Zeile 5 angucken. Meldest du dich dafür?
.... außerdem würde es in der weiterführenden Verwendung der txt files sofort auffallen.
Einer meiner ehemaligen Kollegen hatte mal einen fast gleich lautenden flapsigen Plan in der falschen Runde von sich gegeben... er war sonst sehr nett.
Punkto "ganzzahlig" ist das natürlich eine schlechte Nachricht, es werden zwar nur Ganzzahlen subtrahiert aber die Werte werden negativ.
Ganzzahlig heißt "ohne Nachkommastellen", aber durchaus auch im negativen Bereich. Kein Thema.
Also ist eine Lösung via Batch nicht möglich :/
Das hab ich nicht gesagt. Aber wenn beispielsweise jeweils 6666.33 [Einheiten] hinzu/heruntergerechnet werden müssten, per Batch aber eigentlich nur 6666 oder 6667 [Einheiten] rechenbar wären, dann wäre es albern, sowas nachzubilden.

Wäre die angesprochene VBA Lösung sehr aufwendig ?
VBS. VB-Skript, nicht VB für Applikations. Nein. Vergleichen mit einem Klassentreffen oder damit, eine 67er Import-Harley durch den Bremer TÜV zu bringen.

Ein Beispiel zum "eine Zeile pro Textdatei mit VBSkript ersetzen in zig Dateien" hatte bastla grad gestern am 11.1. sehr schön aus dem Ärmel geschüttelt.
Schau es mal bitte an.

Ansonsten hast du freie Wahl, ob Batch oder VBS. Wirf eine Münze.

Grüße
Biber
Bitte warten ..
Mitglied: TsukiSan
12.01.2010 um 15:13 Uhr
ich kann mir's nicht verkneifen, Biber, aber ich mag deine Antworten!
Aber genau so sollte Virtu-AI an seine Problematik rangehen.

Weiter so!

Gruß

Tsuki
Bitte warten ..
Mitglied: bastla
12.01.2010 um 16:26 Uhr
Hallo Virtu-Al!
Ansonsten hast du freie Wahl, ob Batch oder VBS. Wirf eine Münze.
Falls Du gerade keine Münze hast, kannst Du auch eine EC-Karte nehmen (das sollte damit sogar 2010 noch funktionieren ) ...

Vielleicht hilft aber auch dieser (als Recycling-Produkt des von Biber angesprochenen gestrigen Scripts entstandene) VBS-Ansatz bei der Entscheidungsfindung:
01.
Folder = "D:\Ordner" 
02.
FolderDone = "D:\Ordner\bearbeitet" 
03.
Zeile = 5 
04.
Diff = -100000 
05.
 
06.
Set fso = CreateObject("Scripting.FileSystemObject") 
07.
If Not fso.FolderExists(FolderDone) Then fso.CreateFolder(FolderDone) 
08.
If Right(FolderDone, 1) <> "\" Then FolderDone = FolderDone & "\" 
09.
For Each File In fso.GetFolder(Folder).Files 
10.
    If fso.GetExtensionName(File.Name) = "txt" Then 
11.
        Lines = Split(File.OpenAsTextStream(1).ReadAll, vbCrLf) 
12.
        Lines(Zeile - 1) = Replace(Replace(Lines(Zeile - 1), ".", ",") + Diff, ",", ".") 
13.
        fso.CreateTextFile(FolderDone & File.Name).Write Join(Lines, vbCrLf) 
14.
    End If 
15.
Next
Grüße
bastla
Bitte warten ..
Mitglied: Virtu-Al
13.01.2010 um 13:38 Uhr
Zitat von Biber:

> Weiters wäre aufgrund des Wertes selbst klar ob eine Korrektur stattgefunden hat oder nicht.
> Es werden 6-stellige Werte subtrahiert also wäre das eindeutig, ....
Ja nee... schon klar. Allerdings muss dafür irgendein Freiwilliger in 2000 von 2000 Dateien die Zeile 5 angucken. Meldest du
dich dafür?
....was durch die Duplizierung entfällt

> .... außerdem würde es in der weiterführenden Verwendung der txt files sofort auffallen.
Einer meiner ehemaligen Kollegen hatte mal einen fast gleich lautenden flapsigen Plan in der falschen Runde von sich gegeben... er
war sonst sehr nett.
....ich glaube nicht dass du das beurteilen kannst ob das im weiteren Prozess auffällt...


Big thx @ bastla, funktioniert klasse so und erspart mir viel Arbeit.
Grüße
Virtu-Al
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Bestimmten Text aus vielen xml-Dateien in einem Ordner mit vielen Unterordnern auslesen und in neuer Text-Datei schreiben

gelöst Frage von maba1950Batch & Shell6 Kommentare

Hallo liebe Batch'ler, Scrip'ler und Programmierer, ich möchte aus vielen xml-Dateien, die alle in unterschiedlich benannten Unterordnern gespeichert sind, ...

Batch & Shell

Batch datei ausführen für einen anderen Rechner

gelöst Frage von TutterBatch & Shell3 Kommentare

Hallo an alle, ich möchte gern einen batchbefehl auf einen Rechner ausführen. Das muss aber ein anderer Anstoßen. Um ...

Windows 7

Text filtern, mit Hilfe einer Batch Datei ?

Frage von meisterluehrsWindows 713 Kommentare

Hallo, ich bräuchte mal die Hilfe von ein paar "Experten" :D, die sich mit den Batch-Dateien, bzw der CMD ...

Windows 7

Mit einer Batch-Datei einzelne Ausschnitte aus einer Text-Datei löschen

gelöst Frage von meisterluehrsWindows 719 Kommentare

guten morgen, ja ich weiss haben schon weiss gott wie viele andere gefragt Aber, bei mir hilft nix :/ ...

Neue Wissensbeiträge
Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 8 StundenSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 18 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 1 TagErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 1 TagWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...