Vielleicht wäre es besser, statt des Plus ein anderes Zeichen zu benutzen.
Es geht hierbei um Datei-Klassifikation, -Kennzeichnung, -Markierung, -Zuordnung und dgl., wobei das jeweilige Zeichen hierfür meist am Ende des Dateinamens steht, in einem Fall auch in der Mitte. Anhand dieser Markierungen wird per -was auch immer (RK, AHK, Batch, manuell) - weiterverarbeitet, und diese Markierung ergebnisorientiert auch entsprechend verändert oder gelöscht.
Und jetzt der springende Punkt: Es stehen hierfür grad mal 5 Stück, nämlich = + ! $ # zur Verfügung, also welche der DOS-Code als normal und nicht funktional behandelt. Alle anderen Zeichen/Buchstaben sind für normales Vorkommen in Dateinamen reserviert. Oder andersrum ausgedrückt, ich muß peinlich genau darauf achten, daß diese 5 Marker nicht in Dateinamen vorkommen. Fazit: Die Auswahl an Markern ist nicht gerade gewaltig, so daß ich keinen davon gerne opfern will. Und Datei-Metadaten sind für Skripte meines Wissens nach bömische Dörfer. Aber es funktioniert jetzt ja mit dem guten + voll und ganz.
Deine Ersetzung funktioniert daher auch nur, wenn das Plus der letzte Parameter ist.
Danke für diese Entdeckung, denn ein 4. Parameter ist bereits im Gespräch. Also das + immer zuletzt
Noch ein Tipp. Sowas wie
if not %3=={+ goto ClassStart
geht kaputt, wenn kein dritter Positionsparameter angegeben wurde. Meine Empfehlung ist daher, immer Anführungszeichen in Vergleichen zu benutzen (bzw. generell bei Verwendung von Variablen).
Prinzipiell ja, aber in diesem Fall werden eingangs der Hauptbatch alle denkbaren Parameter-Situationen bis hin zu einem Menü mit Auswahlpunkten bereits im Vorfeld abgefangen und jeweils zu den Abschnitten/Sprungzielen geschickt, wo speziell für diese die Medizin bereitsteht. Will heißen, zu dem für dieses Problem zuständigen Facharzt ":NamePfadClass" werden nur diejenigen hingeschickt, die 3 Parameter mit den oben erwähnten Markern haben. Andere kommen nie hier vorbei.
Grüße,
Dauer-TC-ler