Über Batch die Revision einer Datei im Dateiname anzeigen
Hallo
Supportnet User,
ich habe eine Frage, und zwar:
Ich habe eine Batchdatei die eine .exe aufruft und durch diese exe werden dann Dateien kompiliert. (oder wie man es schreibt xD)
Da ich diesen Vorgang fast täglich wiederhole und die Dateien jedesmal eine andere Revision haben würde ich gerne in der Bat zum Beispiel die entstandene out.abc umbenennen, aber nicht von Hand sondern dass man in der Batch die Revision einigbt und diese dann im Dateiname steht. (z.B.out_2441.abc - wobei 2441 für die revision steht)
Ich hoffe, ich habe die Frage nicht zu kompliziert gestellt...
Ich freue mich schon auf eure Antworten.
Antwort schreiben
Antwort 1 von son_quatsch vom 16.08.2022, 11:11 Options
Was ist denn für dich die Revision, bzw. woraus kann man die auslesen?
Antwort 2 von EP-Compiler vom 16.08.2022, 11:16 Options
Ich habs gewusst: Ich habs zu kompliziert geschrieben...
Revision=Version
Ich meine das folgendermaßen:
Ich gebe in der Batch via INPUT einen Text ein (also die Versionsnummer) und diese soll dann im Dateiname enthalten sein.
Also ein Beispiel:
Ich gebe in der Batch 3428 ein und die Datei out.abc soll dann umbenannt werden zu out_3428.abc
du müsstest dann in deinem batchfile noch
rename out.abc out_%1.abc
einfügen.
dann
deinbatchfile.cmd 1234
aufrufen...
Antwort 5 von jameika vom 16.08.2022, 11:44 Options
wenn du in deinem batch eine abfrage einbauen willst , geht das mit
SET /P Variable=[EingabeaufforderungZeichenfolge]
Antwort 6 von EP-Compiler vom 16.08.2022, 11:58 Options
Danke für eure Hilfe, aber leider schaff ich es nicht...
Ich geb euch hier mal den Code der Batch und ich hoffe einer von euch schafft das:
dol2exs ElfLoad.dol xxx.exs "phone_app.cxc" 0x14000000
cnv 14000000 xxx.exs phone_app.cxc.exs
del xxx.vkp
Antwort 7 von EP-Compiler vom 16.08.2022, 11:59 Options
Ahc ja, der Sinn ist, dass danach phone_app.cxc.exs zu out_revision.exs umbenannt wird...
Antwort 8 von son_quatsch vom 16.08.2022, 12:03 Options
Dann zwäng doch deine bestehende Batch-Datei hier in einen CODE-Block, dann kann ich die mit Leichtigkeit vervollständigen. Zu kompliziert hast du es nicht beschrieben, aber nun weiß ich ja, dass definitiv nicht die Dateiversionsnummern gemeint sind, sondern eine von dir eigens definierte Zahl namens "Revision".
Antwort 9 von EP-Compiler vom 16.08.2022, 12:05 Options
Danke. Hab mir das von Vorher nochmal durchgelesen und habs doch geschafft!
Antwort 10 von son_quatsch vom 16.08.2022, 12:06 Options
Zitat:
Danke für eure Hilfe, aber leider schaff ich es nicht...
Ich geb euch hier mal den Code der Batch und ich hoffe einer von euch schafft das:
dol2exs ElfLoad.dol xxx.exs "phone_app.cxc" 0x14000000
cnv 14000000 xxx.exs phone_app.cxc.exs
del xxx.vkp
Wenn du deine Revisionsnummer bereits "eingibst", dann passiert das in einem der aufgerufenen Programme - und der Batch selbst weiß davon gar nichts. Du musst schon den Batch selbst mit einem Argument aufrufen, oder innerhalb des Batches zusätzlich etwas eintippen.
dol2exs ElfLoad.dol xxx.exs "phone_app.cxc" 0x14000000
cnv 14000000 xxx.exs phone_app.cxc.exs
del xxx.vkp
rename phone_app.cxc.exs zu out_%1.exs
Deine Batch musst Du dann mit
DeinBatchfile revision aufrufen.
also zB
makePhoneApp.bat 3448
oder
makePhoneApp.cmd 3448
jenachdem wie Dein Batchfile heisst und ob es auf .bat oder .cmd endet...
Antwort 12 von EP-Compiler vom 16.08.2022, 12:07 Options
Habe das folgendermaßen gelößt:
set INPUT=
Set /P INPUT=Revision:
ren phone_app.cxc.exs out_%INPUT%.exs
Zitat:
dol2exs ElfLoad.dol xxx.exs "phone_app.cxc" 0x14000000
cnv 14000000 xxx.exs phone_app.cxc.exs
del xxx.vkp
rename phone_app.cxc.exs zu out_%1.exs
das
zu muss natürlich weg, aber Du hast es ja schon anders gelöst...
Antwort 14 von son_quatsch vom 16.08.2022, 12:25 Options
Antwort 12: die erste Zeile kannst du dir sparen.
Und nenn die Batch-Datei makePhoneApp.cmd statt makePhoneApp.bat um nicht unnötig einen 16bit-Kompatibilitätsmodus zu erzwingen.