Solved: langer Dateiname -> 8.3

Seite 1 von 1 - Forum: Applications, Apps & Drivers auf overclockers.at

URL: https://www.overclockers.at/applications/solved_langer_dateiname_gt_8_3_65028/page_1 - zur Vollversion wechseln!


DKCH schrieb am 29.01.2003 um 14:03

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 schrieb am 29.01.2003 um 14:14

einfach nach dem 6. zeichen eine tilde(~) und 1, 2, 3...

z.B.: d:\Eigene~1\1.Seme~1

Gruß, M.


DKCH schrieb am 29.01.2003 um 14:16

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 schrieb am 29.01.2003 um 14:20

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 schrieb am 29.01.2003 um 14:21

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 schrieb am 29.01.2003 um 14:31

beschreib mal dein prob etwas genauer


DKCH schrieb am 29.01.2003 um 14:31

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 schrieb am 29.01.2003 um 14:37

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 schrieb am 29.01.2003 um 14:42

interessanterweise nicht, wenn ich anführungszeichen dazugeb, hab ich halt trotzdem D:\Eigene

hauptsache, es funktioniert




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025