Batch Per Batch variable Dateinamen ansprechen

credixx

Cadet 4th Year
Registriert
Dez. 2011
Beiträge
76
Guten Morgen liebe CB-Community,

vorab: ich bin absoluter Programmierungsnewbie :D

Ich wusste nicht so recht, wie ich das Thema benennen sollte, daher hoffe ich euch mit der folgenden Beschreibung zu erleuchten.

Ich steuere per cmd ein Javatool (Konverter) an, welches .csv-Dateien in .xml-Dateien konvertiert.
Dies geschieht mit folgendem Befehl:

cd desktop
java -jar namedeskonverter.jar C:\Users\username\Desktop\datei.CSV C:\Users\username\Desktop\datei.xml

Nun habe ich eben diesen Befehl in Batchdatei gepackt.
Dies funktioniert auch wie gewünscht, mit der Einschränkung, dass die Zieldatei immer den gleichen Dateinamen haben muss.

Ist es möglich den Dateinamen als Variable zu erfassen? Ich habe bereits versucht mich schlau zu machen und bin auf folgende Lösung gestossen, die leider nicht funktioniert:

cd desktop
java -jar namedeskonverter.jar C:\Users\username\Desktop\*.CSV C:\Users\username\Desktop\*.xml

Viele Grüße und vielen Dank vorab :)
 
Zuletzt bearbeitet:
@credixx
Für das Auslesen und der Variablen muß ein DIR Befehl in einer FOR-Schleife durchlaufen. Damit hat man die Dateinamen in einer Variable. Die Variable kann dann entsprechend in der FOR-Schleife auf den Namen (ohne Dateierweiterung) getrimmt werden und entsprechend mit der Erweiterung .xml durchlaufen.
 
Wer gibt denn den Dateinamen vor? Wenn Du selbst den Dateinamen angeben möchtest, dann würde es schon ausreichen den Namen zu Beginn des Batches mit der Zeile "Set /p datei=Bitte den Dateinamen angeben" zu erfragen und *.csv und *.xml durch "%datei%.csv" und "%datei%.xml" zu ersetzen. Bei der Frage nach dem Dateinamen darf dann nur der Name vor dem Punkt angegeben werden.
 
Hallo zusammen und vielen Dank für die schnelle Hilfe.
@ryan: Vielen Dank, ich bin wie gesagt absoluter Newbie, weshalb ich mich zunächst am Lösungsweg von areiland versucht habe.

@areiland:

Habe die Batch jetzt wie folgt bearbeitet:

Set /p datei=Bitte den Dateinamen angeben
cd desktop
java -jar namedeskonverters.jar C:\Users\username\Desktop\%datei%.CSV C:\Users\username\Desktop\%datei%.xml

Den Namen kann ich selbst bestimmen - dieser wird auch abgefragt, allerdings wird keine Datei erzeugt :confused_alt:

EDIT: Die Lösung von areiland funktioniert. Hatte die Ausgabedateien bereits auf dem Desktop sodass keine neuen erzeugt werden konnten :rolleyes:

Vielen Dank nochmal für die super Hilfe!

Viele Grüße und einen guten Start in die Woche :)
 
Zuletzt bearbeitet:
Enthält der Dateiname Leerzeichen? Dann musst Du die jeweiligen Pfadangaben in Anführungszeichen packen, sonst wird alles ab dem Leerzeichen als Parameter interpretiert.
 
ryan_blackdrago schrieb:
@credixx
was hält Newbie von Eigeninitiative ab (Befehle entsprechend einlesen)?

Normalerweise viel, allerdings habe ich im Normalfall weder beruflich noch privat mit Programmierung Berührungspunkte. Der Aufwand würde in keinster Weise den Nutzen rechtfertigen. Insofern bin ich sehr dankbar über das Engagement der User, die durch Ihre Expertise schnell und unkompliziert weiterhelfen können. An dieser Stelle auch Dir nochmal ein großes Dankeschön!
 
Danke für das Feedback!

Man könnte den Batch selbstverständlich auch so ausbauen, dass schon vorhandene namensgleiche Dateien berücksichtigt und "%datei%" dann z.B. einfach um eine Datums- oder Zeitangabe erweitert wird. Dazu aber eventuell später mehr.
 
Zurück
Oben