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

Inhalt von zwei txt Dateien mit Hilfe einer Batch-datei subtrahieren

Frage Entwicklung Batch & Shell

Mitglied: henibergs

henibergs (Level 1) - Jetzt verbinden

11.01.2013, aktualisiert 21:08 Uhr, 2981 Aufrufe, 6 Kommentare

Ich würde gerne die beiden txt dateien "Guthaben.txt" und "Betrag.txt" miteinander in einer Batch Datei subtrahieren und dass Ergebnis in die Variable "aktguthaben" hineinschreiben. Wie kriege ich dass hin?
Vielen dank im Vorraus
Henrik Bergs

Ich würde gerne die beiden txt dateien "Guthaben.txt" und "Betrag.txt" miteinander in einer Batch Datei subtrahieren und dass Ergebnis in die Variable "aktguthaben" hineinschreiben. Wie kriege ich dass hin?
Vielen dank im Vorraus
Henrik Bergs
Mitglied: HyP3r92
11.01.2013, aktualisiert um 21:21 Uhr
Hallo Henrik,

du kannst den Befehl "set /p" auch dazu nutzen bestimmte Dateien einzulesen:

01.
set /p betrag=<Betrag.txt 
02.
set /p guthaben=<Guthaben.txt 
03.
 
04.
set /a aktguthaben=%guthaben%-%betrag% 
05.
 
06.
echo %aktguthaben%

MfG
HyP3r
Bitte warten ..
Mitglied: henibergs
11.01.2013, aktualisiert um 21:34 Uhr
bei mir kommt dann die Meldung fehlender Operand!!!
Danach :Der Netzwerkpfad konnte nicht gefunden werden!
Aber alle Dateien Heißen genau richtig und sind im selben Ordner wie die Batch datei
und in der Guthaben.txt steht dann nur noch "ECHO ist ausgeschaltet (OFF).
"
Bitte warten ..
Mitglied: bastla
11.01.2013, aktualisiert um 23:05 Uhr
Hallo henibergs und willkommen im Forum!

Da Du die beiden Dateien nicht näher beschrieben hast, ist HyP3r92 in seinem Ansatz (der auch meiner wäre, außer, dass ich in der "set /a"-Zeile keine Prozentzeichen, dafür aber vorweg setlocal verwenden würde) davon ausgegangen, dass in der ersten Zeile jeder Datei jeweils nur eine ganze Zahl steht - wenn das zutrifft, funktioniert der Batch auch.

Hinsichtlich
Der Netzwerkpfad konnte nicht gefunden werden!
solltest Du den konkret von Dir verwendeten Batch und dessen Pfad posten (und dafür "Code"-Formatierung verwenden) ...

Grüße
bastla
Bitte warten ..
Mitglied: henibergs
11.01.2013, aktualisiert um 23:08 Uhr
Also in beiden Dateien steht am Anfang in der ersten Reihe eine ganze Zahl, die beiden Dateien haben den Pfsd: "D:\\server3\" und dann halt jeweils "Guthaben.txt" bzw "Betrag.txt" ( Ich ziehe hier die beiden Dateien auf den Desktop. Die Batch Datei befindet sich ebenfalls auf dem Desktop!!!! )

Mein Code lautet:



@echo off
set datum=%DATE:~0,2%
if %datum%=="D:\\server3\Datum.txt" goto server3





:server3

copy D:\\server3\Guthaben.txt C:\Users\Henrik\Desktop\
copy D:\\server3\Betrag.txt C:\Users\Henrik\Desktop\
set /p server3betrag=<Betrag.txt
set /p server3guthaben=<Guthaben.txt

set /a server3aktguthaben=%guthaben%-%betrag%

del D:\\server3\Guthaben.txt
ECHO %server3aktguthaben% > D:\\server3\Guthaben.txt
del C:\Users\Henrik\Desktop\Betrag.txt
del C:\Users\Henrik\Desktop\Guthaben.txt
pause
Bitte warten ..
Mitglied: bastla
11.01.2013, aktualisiert um 23:20 Uhr
Hallo henibergs!

Was Du genau mit den ersten Zeilen bezweckst, ist mir nicht klar - kann aber jedenfalls logisch (in der Variablen "%datum%" steht ja nur der Tag und es geht unabhängig vom "if" ja immer bei ":server3" weiter) nicht funktionieren ...

... aber hinsichtlich der Berechnung kannst Du die ganzen "copy"- und "del"-Kunststücke einsparen und einfach
01.
set /p server3betrag=<D:\server3\Betrag.txt 
02.
set /p server3guthaben=<D:\server3\Guthaben.txt 
03.
 
04.
set /a server3aktguthaben=server3guthaben-server3betrag 
05.
 
06.
ECHO %server3aktguthaben% >D:\server3\Guthaben.txt 
07.
pause
verwenden (mit jeweils nur einem Backslash nach "D:" und den gleichen Variablennamen für Guthaben und Betrag) ...

Grüße
bastla

P.S.: Die angesprochene Formatierung lässt sich auch nachträglich noch vornehmen.
Bitte warten ..
Mitglied: Biber
12.01.2013 um 00:22 Uhr
[OT]
Zitat von bastla:
P.S.: Die angesprochene Formatierung lässt sich auch nachträglich noch vornehmen.
Aber ob er das schafft, bevor ein Moderator dieses Auf-den-Forumsboden-Gekippte zur Überarbeitung in den Papierkorb verschiebt...?

Wenn es sich stilistisch am Montag morgen immer noch in Strampelhöschen befindet oder weitere drei Nachfragen nötig sind, um das Problem auszuformulieren, dann ist es Asche.

Grüße
Biber
[/OT]
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...