Ich habe ein Batchprogramm mit einem Befehl geschrieben, der für alle Dateien eines Verzeichnisses einen DB2-Befehl absetzt:
for /r %%a in (*.del) do "db2 load from of del modified by coldel; into "
In der Variable %%a steht der Filename mit Endung (in dem Fall .del).
Für die ersten 2 Verwendungen ist das auch in Ordnung. Die Tabelle, wo die jeweiligen Daten hinein geladen werden sollen, heißt genauso wie die Datei, nur halt ohne Dateierweiterung.
Und genau da liegt mein Problem. Wie kann ich es schaffen, das bei der letzten Variablenbenutzung der Dateiname ohne die Endung eingesetzt wird ?
Gibt es die Möglichkeit, die letzten 4 Stellen des Variableninhaltes zu streichen oder irgendeine andere Methode ?
Vielleicht durch ausschalten der Dateierweiterung, aber geht das unter dos ....
Helft mir !!!
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Meines Wissens funktioniert das, was Du da vorhast nicht in DoS. Ich würde mir ein 3 - zeiliges kleines Programm in Basic, C oder Pascal oä schreiben.(also alles 'alte' Programmiersprachen, die keine 50 verschiedenen *.dll's brauchen und gut für MsDos zu nutzen sind). da sehe ich doch das Problem mit der Wertübergabe. Da müsste man was in eine Datei schreiben... In solchen Dingen und mit Variablen ist Dos ziemlich (sehr) unflexibel für unsere heutigen Begriffe
Sorry, das ich dir nicht helfen konnte...
Florian
Echtes DOS oder nur Eingabeaufforderung?
Unter NT-Systemen kann Dir der for-Befehl schon von sich aus den gewünschten Teil des Dateinamens ausgeben...