Solved: langer Dateiname -> 8.3
DKCH 29.01.2003 - 14:03 743 8
DKCH
Administrator ...
|
Kennt irgendjemand einen verhältnismässig einfachen Weg, um aus einem langen Dateinamen (inkl. Pfad mit Leerzeichen und Punkten, z.b. D:\Eigene Dateien\1. Semester) einen DOS-konformen Pfad/Filename in guter alter 8.3-Manier zu machen?
Sollte nach Möglichkeit im Rahmen einer Batch-Datei verwendbar sein... mit Perl gehts, aber das wäre Overkill für meine Zwecke (ich will nur den Turbo Pascal-Compiler ansteuern, der aber keine langen Dateinamen kennt, was wohl ursächlich mit dem Herstellungsdatum zusammenhängen dürfte).
|
mad-mat
Addicted
|
einfach nach dem 6. zeichen eine tilde(~) und 1, 2, 3...
z.B.: d:\Eigene~1\1.Seme~1
Gruß, M.
|
DKCH
Administrator ...
|
ja, das ist mir schon klar - dummerweise hilft mir das wenig, wenn ichs dem Compiler als Argument mitgeben will, weil dann kanns ich eh gleich direkt aufrufen
|
Bimminger
christoph-bimminger.at
|
du meinst zB aus ana win32 app heraus? programmier a kopier-funktion, zB nach tmp.bas diese schickst dem compiler, der macht a tmp.exe. und wenn dann a tmp.exe da is benennsts wieder auf den alten namen (nur mit .exe) um.
|
mad-mat
Addicted
|
hmmm, wenns't nix anderes findest, der Delphi compiler sollte TP zu 90% (a paar Sachen sind halt vom Syntax her anders) verstehen und kennt auch lange Dateinamen...
|
Jedi
PROGrAMmER
|
beschreib mal dein prob etwas genauer
|
DKCH
Administrator ...
|
Die Idee mitm Kopieren hatte ich auch schon. Dummerweise liefert editplus (weil mit dem sollte das funktionieren) zwar den Programm-Pfad, aber, so wie's scheint, immer nur bis zum ersten "Sonder"zeichen, also wenn die Datei in D:\Eigene Dateien liegt, wird "D:\Eigene" übergeben... ich werds mal mit free pascal versuchen, der wird ja hoffentlich doch schon lange dateinamen kennen
edit: nach einigem probieren hab ichs jetzt so gelöst, dass die datei kopiert wird und, weil beim original übergebenene dateinamen das verzeichnis ja stimmt, die exe einfach nach dateiname.exe kopiert wird - aus bintree.pas wird dann halt bintree.pas.exe
danke für die hilfe!
|
Bimminger
christoph-bimminger.at
|
könntst natürlich auch vorm .exe dranhängen nie rechten 4 zeichen wegschneiden ;-)
-> das mitn abschneiden... passiert wohl immer genau beim leerzeichen. Dateinamen mit Leerzeichen musst in Anführungszeichen (") setzen, wennst da drauf an einfluss hast.
|
DKCH
Administrator ...
|
interessanterweise nicht, wenn ich anführungszeichen dazugeb, hab ich halt trotzdem D:\Eigene
hauptsache, es funktioniert
|