AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wann funktioniert eine Batchdatei nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

Wann funktioniert eine Batchdatei nicht?

Ein Thema von Alallart · begonnen am 25. Jul 2023 · letzter Beitrag vom 26. Jul 2023
Antwort Antwort
Alallart

Registriert seit: 8. Dez 2015
155 Beiträge
 
#1

Wann funktioniert eine Batchdatei nicht?

  Alt 25. Jul 2023, 23:21
Ich bin verwundert. Ich habe an die sechs Batchdateien, die ihren Dienst erfüllen. Gestern habe ich eine siebte erstellt. Und die funktioniert nicht. Keine Ahnung warum.

Ich kann mir sparen den Code hier zu veröffentlichen, denn ich erkenne keinen Fehler. Angefangen hat das damit, dass ich die alten Batchdateien etwas übersichtlicher machen wollte, weil einige Zeilen ultra lag waren (wegen Pfade), also speicherte ich die Pfade in Variablen, nach dem Motto %pfad1%, und verkürzte so meine langen Zeilen.

Das klappte auch alles wunderbar, bis es bei der letzten Batchdatei nicht mehr funktionierte. Danach klappte nichts mehr. Die alten Batchdateien funktionieren immer noch, die neuen brechen sofort ab.

Danach testete ich die letzte Batchdatei mit alten Einstellungen, funktioniert immer noch nicht. Dann alles auf das nötigste reduziert, klappt auch nicht.

Also erstellte ich eine neue Batchdatei, mit einem neuen Namen. Es funktionierte. Ich erstellte wieder eine Batchdatei mit einem wieder anderen Namen "Test4.bat", es funktionierte nicht. Ich dachte zuerst es sind Umlaute im Namen. Sind es nicht. Auch nutze ich Anführungzeichen für Pfaden.

Sonderbar, mal funktioniert es, mal nicht. Nicht das eine Batch mal funktioniert, mal nicht. Wenn sie funktioniert, dann immer. Wenn nicht, dann auch immer. Nur erkenne ich nicht den Grund.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wann funktioniert eine Batchdatei nicht?

  Alt 25. Jul 2023, 23:30
FileEncoding?
BOM?
irgendein böse unsichtbares ControlChar?
...



Zitat:
Ich kann mir sparen den Code hier zu veröffentlichen, denn ich erkenne keinen Fehler
DU vielleicht nicht, aber es ist ja wohl dennoch Einer da.


Du kannst auch Zeilen umbrechen.
Delphi-Quellcode:
echo das ist eine gaaaaanz ^
  gaaaaaaaaaanz ^
  lange Zeile
^ als Letztes (ohne Leerzeichen danach)


Fehlerprüfung?

Leider fehlt in CMD und auch im Terminal die Möglichkeit automatisch das letzte Result anzeigen zu lassen.
Selbst mit PROMPT nicht.

z.B. ein @echo EXITCODE %errorlevel% nach "jedem" möglicherweise fehlermeldendem Befehl.

Code:
@if errorlevel 1  @echo ERROR %errorlevel%
@if %errorlevel% NEQ 0  @echo ERROR %errorlevel%
...


PS: .BAT ist so altmodisch.
Viele verwenden seit Jahren .CMD , mit dem selben Dateiinhalt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (25. Jul 2023 um 23:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wann funktioniert eine Batchdatei nicht?

  Alt 25. Jul 2023, 23:57
Ich kann mir sparen den Code hier zu veröffentlichen, denn ich erkenne keinen Fehler.
Der Satz ist falsch formuliert! Es muss heißen: Kann mal jemand meinen Code überprüfen, denn ich erkenne keinen Fehler.

Ernsthaft: Wenn du einen Fehler erkennen würdest, hättest du hier gar nicht geschrieben.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Alallart

Registriert seit: 8. Dez 2015
155 Beiträge
 
#4

AW: Wann funktioniert eine Batchdatei nicht?

  Alt 26. Jul 2023, 06:59
Also gut, der Code der Batchdatei Test3.bat lautet
Code:
rar.exe a -r "Bak\Uebungen.rar" -ep1 "D:\Schulung\Mathe Neu\Übungen für Mathekurs"
Die Ausgabe ist:
Code:
RAR 5.20   Copyright (c) 1993-2014 Alexander Roshal  2 Dec 2014
Trial version            Type RAR -? for help

Evaluation copy. Please register.

Creating archive Bak\Uebungen.rar

WARNING: No files
Manchmal wird auch nichts ausgegeben, manchmal dieser Text.

Erstelle ich eine Datei mit dem Namen Test3.lst und füge dort als einzigen Inhalt diesen Pfad
Code:
"D:\Schulung\Mathe Neu\Übungen für Mathekurs"
und ändere den Batchcode in
Code:
rar.exe a -r "Bak\Uebungen.rar" -ep1 @Test3.lst
funktioniert es.

Übrigens, der Ordner Bak\ ist vorhanden.
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
774 Beiträge
 
#5

AW: Wann funktioniert eine Batchdatei nicht?

  Alt 26. Jul 2023, 07:42
Ein DOS Ü und ein Windows Ü sind unterschiedliche Zeichen...
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.869 Beiträge
 
Delphi 12 Athens
 
#6

AW: Wann funktioniert eine Batchdatei nicht?

  Alt 26. Jul 2023, 08:23
Den OEM Zeichensatz kann man z.B. in Notepad++ einstellen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wann funktioniert eine Batchdatei nicht?

  Alt 26. Jul 2023, 09:36
š statt dem Ü

oder mal z.B. CHCP 850 (DOS-Latin I) oder CHCP 1252 (ANSI Latin I) als einen der ersten Befehle ausprobieren.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz